教科书中的铸造问题——它是 0.05 还是 0.5?
a casting problem in the textbook — is it 0.05 or 0.5?
double cost = 10.95;
int numDollars = (int) cost; //sets numDollars to 10
如果您打算将成本四舍五入到最接近的美元,您需要写
int numDollars = (int)(cost+0.5); //numDollars has value 11
以上是我的AP computer science A Barron's 书上写的。我对 Java 和所有东西都很陌生,但我只是想知道是否应该将 0.5 替换为 0.05。如果这本书是正确的,有人可以帮助我理解为什么吗?
示例使用 10.95
,但解决方案需要适用于 all 值。
考虑使用 10.51
的不同示例
正确答案应该是什么? 11
但是你如何到达那里?
10.51 + 0.50 = 11.01, truncated by typecast to 11
如果我们尝试使用您的建议,我们会得到:
10.51 + 0.05 == 10.56, truncated by typecast to 10
答案错误
double cost = 10.95;
int numDollars = (int) cost; //sets numDollars to 10
如果您打算将成本四舍五入到最接近的美元,您需要写
int numDollars = (int)(cost+0.5); //numDollars has value 11
以上是我的AP computer science A Barron's 书上写的。我对 Java 和所有东西都很陌生,但我只是想知道是否应该将 0.5 替换为 0.05。如果这本书是正确的,有人可以帮助我理解为什么吗?
示例使用 10.95
,但解决方案需要适用于 all 值。
考虑使用 10.51
的不同示例
正确答案应该是什么? 11
但是你如何到达那里?
10.51 + 0.50 = 11.01, truncated by typecast to 11
如果我们尝试使用您的建议,我们会得到:
10.51 + 0.05 == 10.56, truncated by typecast to 10
答案错误