BigDecimal和float相乘不能得到精确值
来源:互联网 发布:阿里云服务器ftp 编辑:程序博客网 时间:2024/06/06 09:19
float numF = 1.2f;BigDecimal numDecimal = new BigDecimal(100);System.out.println(numDecimal.multiply(new BigDecimal(numF)));
result:
120.0000047683715820312500
原因是
System.out.println(new BigDecimal(numF));
result:
1.2000000476837158203125
改:
float numF = 1.2f;BigDecimal numDecimal = new BigDecimal(100); String numString = String.valueOf(numF);System.out.println(numDecimal.multiply(new BigDecimal(numString)));
result:
120.0
0 0
- BigDecimal和float相乘不能得到精确值
- 精确计算和BigDecimal
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
- Java浮点数float,bigdecimal和double精确计算的精度误差问题总结
- js中Number数字相乘,相加,相除得到精确值(转)
- BigDecimal相乘
- BigDecimal精确
- float double 大数运算 BigDecimal 和 BigDecimal(String) 构造函数
- Float、double和Bigdecimal的区别
- 表达式之谜2找零时刻(需要精确答案的地方,避免使用float和double;货币运算使用int,long或BigDecimal)
- BigDecimal-精确表示货币值1
- BigDecimal-精确表示货币值2
- 精确运算避免使用float和double
- float不能做精确比较的原因粗解
- Java精确计算,用BigDecimal来处理int、double、float等之间的计算
- BigDecimal和DecimalFormat结合格式化输出精确数值
- java float 和 double 的 bug 和解决办法BigDecimal
- gcc $< $@
- webservice和wcf的区别
- Java基础学习总结(25)——Log4j快速入门教程
- nginx 优化(突破十万并发)
- php return的使用
- BigDecimal和float相乘不能得到精确值
- 为s3c2410开发板 配置和编译内核过程
- Android Application的使用及其生命周期
- android不依赖具体activity弹出Dialog对话框,即全局性对话框
- MVC架构
- Oracle--同义词相关
- LinuxBoot
- Mysql中文乱码问题完美解决方案
- Base64编码解析以及加密、解密实现