yaoleiroyal

天行健,君子以自强不息!地势坤,君子当厚德载物!

 

BigDecimal的构造函数

这周在对监控系统进行代码复查时发现了一个问题,就是有关于BigDecimal的构造问题,BigDecimal主要是用于精确计算的,所以在对数值计算要求不是很严格的时候,用double就行了。
如何构造一个BigDecimal的数值呢?关键要看是个什么样的数值了,如果是想将一个有小数的数字转换为BigDecimal的话,如“3.1”,那么最好用BigDecimal(String),即new BigDecimal("3.1"),而不能用new BigDecimal(3.1),因为这样会导致实际得出的值不等于3.1,jdk中也明确说明了不推荐使用new BigDecimal(Double),并且new BigDecimal(String)的效率比new BigDecimal(Double)要高,还有一个方法就是BigDecimal(BigInteger,int),可以使用new BigDecimal(BigInteger.valueOf(31),1)来得到3.1,它的效率也很高。在jdk6.0中加入了BigDecimal(int)的构造函数,所以当被转换的数值是整数时,也可以用它。

posted on 2008-05-28 21:16 yaoleiroyal 阅读(1986) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(1)

随笔分类(5)

随笔档案(5)

搜索

最新评论

阅读排行榜

评论排行榜