美文网首页
java Double计算出现精度问题

java Double计算出现精度问题

作者: 宽宽侠 | 来源:发表于2018-10-29 11:01 被阅读0次

在使用double进行浮点数运算时会出现精度问题,因为这是科学计算得出的结果而不是我们想要的结果
'''
System.out.println(478d * 0.95d);
结果
454.09999999999997
'''
这是就要使用BigDecimal这个类进行计算了
'''
加法
new BigDecimal(Double.toString(478d)).add(new BigDecimal(Double.toString(0.95d))).doubleValue()

减法
new BigDecimal(Double.toString(478d)).subtract(new BigDecimal(Double.toString(0.95d))).doubleValue()

除法
new BigDecimal(Double.toString(478d)).divide(new BigDecimal(Double.toString(0.95d))).doubleValue()

乘法
new BigDecimal(Double.toString(478d)).multiply(new BigDecimal(Double.toString(0.95d))).doubleValue()

相关文章

  • 2018-11-04-1

    java double计算精度问题 double计算防止精度丢失:方案:将double转成bigDecimalSy...

  • java Double计算出现精度问题

    在使用double进行浮点数运算时会出现精度问题,因为这是科学计算得出的结果而不是我们想要的结果'''System...

  • 关于BigDecimal

    我们都知道,在java中浮点数由double与float表示,他们在计算的时候会出现精度问题,比如 我们期望得到的...

  • iOS中的高精度数值计算

    前言 在iOS开发中,和价格计算相关的,需要注意计算精度的问题,使用float、double来计算价格数值会出现精...

  • 关于BigDecimal

    使用double和float计算时会造成精度丢失的问题 要进行计算要用BigDecimalBigdecimal a...

  • Android面试知识点总结(八)

    double相加会出现什么问题? double 进行运算时,经常出现精度丢失的问题。比如: 得到结果为43.190...

  • java——浮点数不精确的解决办法

    问题案例 由于计算机系统的特性,java浮点数(float、double)的精度有时候会不准确,案例代码如下: 输...

  • java中如何防止数字丢失精度(用于钱的运算)

    在java中不管是float还是double在进行计算的时候都会有精度不准的问题如下例子: 上述代码输出结果: 我...

  • js 小数的精度损失

    参考如何理解double精度丢失问题?比如1.1+0.1=1.2000000000000002,在java C++...

  • java中float和double精度问题

    背景 在java中float赋值给double,会产生精度问题。 输出为2.0999999046325684。 小...

网友评论

      本文标题:java Double计算出现精度问题

      本文链接:https://www.haomeiwen.com/subject/izkctqtx.html