【发布时间】:2013-12-26 02:58:27
【问题描述】:
我试图保留两位小数,即使数字为零,使用DecimalFormatter:
DecimalFormat df = new DecimalFormat("#.00");
m_interest = Double.valueOf(df.format(m_principal * m_interestRate));
m_newBalance = Double.valueOf(df.format(m_principal + m_interest - m_payment));
m_principal = Double.valueOf(df.format(m_newBalance));
但是,对于某些值,这给出了两位小数,而对于其他值则没有。我该如何解决这个问题?
【问题讨论】:
-
你能举一个没用的例子吗?
-
你确定吗?我会为我的格式字符串使用“#0.00”,但这应该并且将会起作用。我不得不怀疑你是否真的在运行上面显示的代码。
-
可能是因为你在做
Double.valueOf。不过,只是猜测。 -
您在打印之前是否使用
DecimalFormat格式化m_interest?因为我可以看到您在最终结果上执行Double.valueOf(),如果您要这样打印,那么您一定会得到不同的小数点。
标签: java decimalformat