gpt4 book ai didi

Java的BigDecimal setScale

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

感谢您的建议。

这是为什么:

import java.math.*;

public class bdt {

public static void main (String [] args) {

BigDecimal a = new BigDecimal ("1.0");
BigDecimal b = new BigDecimal ("3.0");
BigDecimal c = new BigDecimal ("0.0");

c = a.divide (b,MathContext.DECIMAL128);
c.setScale (2,RoundingMode.HALF_UP);
System.out.println (a.toString ());
System.out.println (b.toString ());
System.out.println (c);

}

}

产生这个:

1.0
3.0
0.3333333333333333333333333333

而不是:

1.0
3.0
0.33

最佳答案

因为 BigDecimal不可变的,您必须将调用的结果分配给 setScale()c

c = c.setScale(2, RoundingMode.HALF_UP);

链接的 Javadoc 表示(部分)返回一个 BigDecimal,其小数位数为指定值

tl;博士它不会就地修改 c

关于Java的BigDecimal setScale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121560/

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