Java 大十进制数学运算
我想用Java编写,但我遇到了一些错误,我不知道如何编写:Java 大十进制数学运算,java,object,bigdecimal,Java,Object,Bigdecimal,我想用Java编写,但我遇到了一些错误,我不知道如何编写: C = A - (A*B)/100 我的所有值都定义为Bigdecimal对象 我尝试过类似的方法,但不起作用: C = A.subtract(A.multiply(B).divide(100)); …我收到一条警告,要求向divide方法添加更多参数。我不知道如何正确地写。我做错了什么?提前感谢BigDecimal没有divide(int)方法,但这就是您要求它使用.divide(100)所做的,因为100是int文本。如果引用,
C = A - (A*B)/100
我的所有值都定义为Bigdecimal对象
我尝试过类似的方法,但不起作用:
C = A.subtract(A.multiply(B).divide(100));
…我收到一条警告,要求向divide方法添加更多参数。我不知道如何正确地写。我做错了什么?提前感谢
BigDecimal
没有divide(int)
方法,但这就是您要求它使用.divide(100)
所做的,因为100
是int
文本。如果引用,则所有的divide
方法都接受BigDecimal
实例
c = a.subtract(a.multiply(b).divide(BigDecimal.valueOf(100.0)));
您可以改为使用,方法是:
(它接受long
[或double
],但int
可以升级为long
)
或者,对于某些值,可以使用String
构造函数:
C = A.subtract(A.multiply(B).divide(new BigDecimal("100")));
…尤其是在处理浮点值时,
double
中可能会丢失精度100
对于valueOf
很好。BigDecimal
没有divide(int)
方法,但这就是你要求它使用.divide(100)
的方法,因为100
是int
文本。如果引用,则所有的divide
方法都接受BigDecimal
实例
您可以改为使用,方法是:
(它接受long
[或double
],但int
可以升级为long
)
或者,对于某些值,可以使用String
构造函数:
C = A.subtract(A.multiply(B).divide(new BigDecimal("100")));
…尤其是在处理浮点值时,double
中可能会丢失精度100
对于valueOf
是可以的,但是。您会收到警告“BigDecimal类型中的方法除法(BigDecimal)不适用于参数(int)”。并不是说你应该添加更多的参数。如果你得到警告“BigDecimal类型中的方法divide(BigDecimal)不适用于参数(int)”,则可能与相关参数重复。不是说你应该添加更多的参数。可能是重复的