【发布时间】:2015-04-22 12:43:20
【问题描述】:
代码是:
private static DecimalFormat amDF=new DecimalFormat("###,###,###,##0.00");
amDF.setDecimalFormatSymbols(dfs); <- this only sets decimal separator, it works fine
amDF.setMinimumFractionDigits(2);
amDF.setMaximumFractionDigits(2);
格式化前的值为 210103.6,格式化后的值应为:210.103,60,而不是 210.103,59。
为什么我会损失 0.01?
编辑#1:数字是浮点数类的实例
编辑 #2:numberOfDecimals = 2
【问题讨论】:
-
你甚至没有显示正在格式化的数字的类型。
-
被格式化的数字是
float还是double?我们需要这些信息。 -
你好。谢谢您的回复。 number 是:浮点数
-
另外,将
DecimalFormat定义为静态并不是一个好主意——它在历史上存在线程安全问题。但这并没有导致这个问题...... -
..
numberOfDecimals的(当前)值是多少?
标签: java decimalformat