BigDecimal数学运算

蓝色的

我想用Java编写此代码,但出现一些错误,我不确定如何编写它:

C = A - (A*B)/100

我所有的值都定义为Bigdecimal对象。

我尝试过类似的操作,但无法正常工作:

C = A.subtract(A.multiply(B).divide(100));

..我收到警告,要向除法添加更多参数。我不知道如何正确编写它。我究竟做错了什么?提前致谢

TJ人群

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")));

...特别是如果您要处理的浮点值可能会失去的精度double100可以valueOf,但是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章