【发布时间】:2010-03-09 02:11:07
【问题描述】:
我为此双变量执行以下 java 打印命令 双重测试=58.15; 当我做一个 System.out.println(test);和 System.out.println(new Double(test).toString());它打印为 58.15。
当我执行 System.out.println(new BigDecimal(test)) 时,我得到以下值 58.14999999999999857891452847979962825775146484375
我能够理解“测试”双变量值在内部存储为 58.1499999。但是当我执行以下两个 System.out.println 时,我得到的输出是 58.15 而不是 58.1499999。
System.out.println(test);
System.out.println(new Double(test).toString());
以上两个输出为 58.15。
上面的 System.out.println 语句是否正在对值 58.1499999 进行一些舍入并将其打印为 58.15?
【问题讨论】:
标签: java string bigdecimal