我正在尝试将我的双精度值格式化为精确的 2 位小数,它似乎工作正常,这是我正在尝试的代码
final NumberFormat df = DecimalFormat.getInstance();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
df.setRoundingMode(RoundingMode.DOWN);
df.format(value)
到现在一切正常,但我需要返回双精度值,因为它正在用于其他计算,我试过了
Double.parseDouble(df.format(value))
像大小数一样
BigDecimal price = new BigDecimal(df.format(number));
但它没有按预期工作,就像18.50
被转换为18.5
虽然这不是计算问题,但我需要在 UI 上显示金额,我必须精确显示最多 2 个小数位。
有没有我可以在 java 类中处理它或者我必须在带有 JSTL 的 JSP 中处理它