BigDecimal 中divide 的解释

  • Post author:
  • Post category:其他



从中文版的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




版权声明:本文为rainbow702原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。