java中定义double A=123.456; double b =((int) A) - A;为甚么打印出的b的值是-0.45600000000000307

b的得数后面的00000000000307是从哪来的
2025-01-20 07:21:26
推荐回答(2个)
回答1:

这个是JAVA 中的浮点类型的问题,,,,,,要显示多少位,使用Format来定一下位,就正常了。

回答2:

浮点数不是绝对精确的。如果你要绝对精确的浮点数,可以用BigDecimal类型。