关于BigDecimal
来源:互联网 发布:全站仪数据采集 编辑:程序博客网 时间:2024/05/17 08:53
关于BigDecimal
BigDecimal有两部分组成,an arbitrary precision integer unscaled value和a 32-bit integer scale
其中关于scale就是小数点后面数字的位数,例如1.1234567,则scale=7,unscaled value为有效数字位数,这里unscaled value=11234567,有如下代码:
String a="-0.1234567890"; BigDecimal bigDecimal=new BigDecimal(a); System.out.println(bigDecimal.scale()); System.out.println(bigDecimal.unscaledValue());
其输出结果为:
10
-1234567890
因此BigDecimal可以表示为unscaledValue × 10-scale
我们在构造BigDecimal对象时,应尽量使用字符串构建,请看如下代码:
BigDecimal floatValue=new BigDecimal(0.1); BigDecimal stringValue=new BigDecimal("0.1"); System.out.println(floatValue.toString()); System.out.println(stringValue.toString());
其结果如下:
0.1000000000000000055511151231257827021181583404541015625
0.1
因为我们使用float构造BigDecimal对象时,实际上我们并不能用float构造一个精确的值,而采用字符串时就可以避免这个问题。
0 0
- 关于Bigdecimal
- 关于BigDecimal
- 关于BigDecimal
- 关于BigDecimal
- 关于java.math.bigdecimal
- 关于BigDecimal保留小数位
- 关于BigDecimal的使用
- 关于BigDecimal 的使用
- 关于BigDecimal的计算
- 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN
- 关于bigDecimal的divide方法
- 关于BigDecimal一些运算问题。。。。。。。。
- 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN
- 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN
- 关于BigDecimal数据的四舍五入
- 关于BigDecimal截取小数位数
- BigDecimal
- Bigdecimal
- CF367 E - Working routine
- Android N/Android 7.0新特性(图文详解Android 7.0新功能)
- 109. Convert Sorted List to Binary Search Tree
- 一起talk C栗子吧(第一百八十二回:C语言实例--在printf函数中设置输出宽度一)
- Math的使用
- 关于BigDecimal
- Android N(Android 7.0)版本适配(开发者应该知道的一切新特性与新功能)
- 浙大PAT的大量感悟
- 境外诈骗,最新来自senegal的邮件诈骗
- 使用Ajax实现无刷新用户名验证和分页的效果(一)
- 《C++编程规范——101条规则、准则与最佳实践》笔记002
- android 解析XML 生成XML
- QDU 18 反转数字
- android studio安装Genymotion