java中double值的乘法运算符的保证精度是多少?
例如,2.2 * 100是220.00000000000003,但220是双数。 220.00000000000003是继220之后的下一个双倍。
答案 0 :(得分:6)
乘法工作正常,但2.2
不能完全表示为double。最接近的双打是:
某些软件会将后一个值打印为2.2
,但这并不意味着它是准确的。这只是意味着它被视为“足够接近”。
答案 1 :(得分:3)
如果您正在使用财务数据,请不要使用float or double
,只需使用 java.math.BigDecimal
答案 2 :(得分:1)