我正在尝试获取小数点后的数字。例如:60.
4 ->0.4
然而,什么时候做
double a = 60.4 % 1;
结果是0.3999999999999986
。
为什么是这样?它怎么能被修复?
我正在尝试获取小数点后的数字。例如:60.
4 ->0.4
然而,什么时候做
double a = 60.4 % 1;
结果是0.3999999999999986
。
为什么是这样?它怎么能被修复?
使用定点类型
BigDecimal src = new BigDecimal("60.4");
BigDecimal a = src.remainder(BigDecimal.ONE);
您可以使用DecimalFormat来完成您想要的任务。
好的,您可以这样做:如何获得小数点后的数字?(爪哇)
我认为这正是您正在寻找的。所以基本上你可以使用:
double x = d - Math.floor(d);
或者
BigDecimal类,用于小数点后的精确数字。