ruby浮点数计算精度不准确问题
2018-03-29 16:40
405 查看
对于程序计算精度问题:我们往往会遇到 计算 9.999*100 得到999.9000000000001的这种结果。
(原因不多说,请大家自行学习了)
那么问题的解决,需要转换数字的类型为decimal,本例中可以:
BigDecimal("9.999") * 100得到正确的结果,此时还是BigDecimal对象,(BigDecimal("9.999") * 100).to_f 可转成 float
注:若BigDecimal类不存在,通过 require 'bigdecimal' 载入
(原因不多说,请大家自行学习了)
那么问题的解决,需要转换数字的类型为decimal,本例中可以:
BigDecimal("9.999") * 100得到正确的结果,此时还是BigDecimal对象,(BigDecimal("9.999") * 100).to_f 可转成 float
注:若BigDecimal类不存在,通过 require 'bigdecimal' 载入
相关文章推荐
- java中解决double计算精度不准确问题
- js 浮点数计算精度不准确问题
- 关于js浮点数计算精度不准确问题
- 关于js浮点精度计算不准确的问题及解决方法
- Java中数值计算的精度问题
- Java数值避免浮点型计算丢失精度问题
- double取整,计算时的精度问题
- 【Java】解决计算浮点数精度问题(BigDecimal)
- PHP精度计算问题
- Java中double数据类型计算会损失精度问题
- 编程语言计算0.1+0.2精度误差的问题
- matlab中计算精度的问题
- java中数值计算的精度问题
- java float计算精度丢失问题剖析
- js计算精度问题,函数整理
- python默认的是17位小数的精度,但是这里有一个问题,就是当我们的计算需要使用更高的精度(超过17位小数)的时候该怎么做呢?
- java用double和float进行小数计算精度不准确
- 关于浮点数计算时的精度问题
- c# 数值计算精度问题
- 计算几何中的精度问题(转)