gpt4 book ai didi

java - 创建自定义 BigDecimal 类型

转载 作者:太空狗 更新时间:2023-10-29 22:44:02 26 4
gpt4 key购买 nike

在我的应用程序中,所有 BigDecimal 数字都被缩放为有两位小数。换句话说,每次我在代码中创建一个新的 BigDecimal 时,我也需要使用方法 scale:

BigDecimal x = BigDecimal.ZERO;
x.setScale(2, RoundingMode.HALF_UP);

因此,为了尽量减少工作量,我想创建自定义 BigDecimal 类型,例如:

public class CustomBigDecimal extends BigDecimal {

public CustomBigDecimal(String val) {
super(val);
this.setScale(2, RoundingMode.HALF_UP);
}

}

我知道 this.setScale(2, RoundingMode.HALF_UP); 没有完成这项工作,但我找不到完成它的方法,这可能吗?

最佳答案

您可以简单地为自己创建一个方法来创建一个零的 BigDecimal。像这样的东西:

public static BigDecimal scaled(String val) {
BigDecimal x = new BigDecimal(val);
return x.setScale(2, RoundingMode.HALF_UP);
}

将它放在辅助类中,例如 BigDecimalHelper、BigDecimalFactory 或其他类。 :)

编辑:稍微更改它以返回 setScale 的结果,因为 BigDecimal 是不可变的。并进一步回答原始问题:不,你写的是不可能的,因为对象的状态没有用 setScale() 改变。

关于java - 创建自定义 BigDecimal 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28969492/

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