gpt4 book ai didi

java - 将 double 格式设置为小数点后两位

转载 作者:行者123 更新时间:2023-12-02 07:07:27 25 4
gpt4 key购买 nike

我正在尝试将 double 值格式化为精确的小数点后两位,它似乎工作正常,这是我正在尝试的代码

final NumberFormat df = DecimalFormat.getInstance();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
df.setRoundingMode(RoundingMode.DOWN);
df.format(value)

到目前为止,一切正常,但我需要返回 double 值,因为它正用于其他计算,我尝试过

Double.parseDouble(df.format(value))

带有大数的小数,例如

BigDecimal price = new BigDecimal(df.format(number));

但它没有按预期工作喜欢 18.50正在转换为 18.5

虽然这不是计算问题,但我需要在 UI 上显示金额,其中必须精确显示小数点后两位。

有什么我可以在java类中处理它或者我必须在JSP中使用JSTL来处理

最佳答案

这就是 BigDecimal 的用途!

BigDecimal number = new BigDecimal(123.456);
// set 2 fraction digits
// Note that setScale() does not change the original,
// but returns a new BigDecimal.
number = number.setScale(2, RoundingMode.DOWN);
// get string representation
String text = number.toPlainString();
// get double value
double dbl = number.doubleValue();

如果可以的话,也可以使用 BigDecimal 进行其他计算。

关于java - 将 double 格式设置为小数点后两位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com