我无法理解以下两个为什么会有区别:
double d = 251.2453;
System.out.println(d);
d = .01 * ((int) (d * 100));
System.out.println(d);
输出量
251.2453
251.24
与下面的输出结果相比,该结果是在转换前除以100而不是乘以.01:
double d = 251.2453;
System.out.println(d);
d = ((int) (d * 100)) / 100;
System.out.println(d);
输出量
251.2453
251.0
最佳答案
在第二种情况下,您将Integer除以Integer,因此结果是Integer,而在第一种情况下,您将其乘以0.1,并因此转换为浮点数。