当前位置: 代码迷 >> 综合 >> BigDecimal 中divide 的解释
  详细解决方案

BigDecimal 中divide 的解释

热度:49   发布时间:2023-12-06 22:10:24.0

从中文版的API文档找到的内容,但里面的解释不详细,望高手作答:

方法1:
pubilc BigDecimal divide(BigDecimal divisor) 
  API中的解释: 返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ArithmeticException。
  问1:这里的标度是什么意思?
  问2:scale()方法是那个类里面的。


方法2:
  pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
  问3:roundingMode是什么(环境模式)?
  问4:这里引入scale和roundingMode的作用是什么?


方法3:
  pubilc BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
  问5:这里的RoundingMode类是在哪个包里的?

方法一:
scale指的是你小数点后的位数。比如123.456则scale就是3.
scale()就是BigDecimal类中的方法啊。
你自己定义一个BigDecimal的对象调用一下就可以验证。
比如:BigDecimal b = new BigDecimal("123.456");
b.scale(),返回的就是3.

方法二:
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,你可以看一下,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。

pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选!

原贴地址:http://topic.csdn.net/u/20110123/16/ec24a82d-1912-4dc2-a806-6616c1af6a27.html

  相关解决方案