gpt4 book ai didi

java - 将 double 格式设置为 2 位小数不起作用

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

我想把这个加倍:

3.499999999999999

到:
3.50

我已经使用了这两种方法:
DecimalFormat df = new DecimalFormat("0.00");
double result = Double.valueOf(df.format(input));
System.out.println(answer);


public double round(double input)
{
int decimalPlace = 2;
BigDecimal bd = new BigDecimal(input);
bd = bd.setScale(decimalPlace,BigDecimal.ROUND_UP);

return (bd.doubleValue());
}

但它一直在打印:
3.5

有没有人对此有解决方案?因为我真的认为这应该有效。谢谢你的帮助。

最佳答案

您的第一个解决方案非常非常接近。只需这样做:

    DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(input));

您的版本不起作用的原因是您正在使用 input double,将其格式化为 String使用 2dp,然后将其转换回 double . System.out.println然后打印 double一如既往,没有特殊的小数位规则。

关于java - 将 double 格式设置为 2 位小数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290679/

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