我想知道使用
double
将整数转换为双精度数与将整数乘以 1.0 有什么区别
int a = 4
int b = 3
double c = 1.0 * a / b
double d = (double) a / b
最终
c
和 d
输出 1.333.. 根据我的理解,
c
被转换为双精度,因为1.0 * a
使a
成为双精度,并且当使用浮点和整数除法时,输出将始终是浮点,但在假设的情况下,你只想将整数转换为双精度数,这两种方法有什么区别?
1: 通过乘以 1.0 或加 1d 将 int 转换为 double?(无法理解)
2: 使用(双)或“ *1.0”进行投射(要求最佳实践)
使用演员表。 编写代码时,正确性和可维护性都很重要。 虽然这两种选择都可能给你正确的答案,但只有一个显然是“我想将 int 转换为 double”。 另一个是“为什么这个数字要乘以 1.0?这看起来没什么用。哦,它是一个 int,所以这使它成为一个 double”,这是你强加给未来代码读者的无用的认知负担(这可能是3 个月后你就会想知道当他们写下这句话时你年轻 3 个月时在想什么)。