我想用Java编写此代码,但出现一些错误,我不确定如何编写它:
C = A - (A*B)/100
我所有的值都定义为Bigdecimal对象。
我尝试过类似的操作,但无法正常工作:
C = A.subtract(A.multiply(B).divide(100));
..我收到警告,要向除法添加更多参数。我不知道如何正确编写它。我究竟做错了什么?提前致谢
BigDecimal
没有divide(int)
方法,但这就是您要使用的方法.divide(100)
,因为它100
是一个int
文字。如果您参考文档,则所有divide
方法都接受BigDecimal
实例。
您可以divide(BigDecimal)
改为使用BigDecimal.valueOf
:
C = A.subtract(A.multiply(B).divide(BigDecimal.valueOf(100)));
(它接受long
[或double
],但int
可以提升为long
。)
或者,对于某些值,您可以改用String
构造函数:
C = A.subtract(A.multiply(B).divide(new BigDecimal("100")));
...特别是如果您要处理的浮点值可能会失去的精度double
。100
可以valueOf
,但是。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句