`
hnjzsyjyj
  • 浏览: 27480 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

BigDecimal

 
阅读更多
//对于浮点数相减,有时结果是正确的,有时结果是错误的
import java.math.BigDecimal;

public class LiP25 {
	public static void main(String[] args) {
		double result=6.110-2.600;
		System.out.println("6.110-2.600="+result); //错误结果3.5100000000000002
		
		//方法一:使用BigDecimal类解决浮点数相减结果错误
		BigDecimal num1=new BigDecimal("6.110"); //一定要用String类型的形参构造方法
		BigDecimal num2=new BigDecimal("2.600");
		BigDecimal num3=num1.subtract(num2);
		double value=num3.doubleValue();
		System.out.println("6.110-2.600="+value); //正确结果3.51
		
		//方法二:将待减的数各乘以一个倍数,并将结果强制转换为int或long型,然后相减
		double dbNum1=6.110;
		double dbNum2=2.600;
		long lngNum1=(long)(dbNum1*1000); //注意不是(long)dbNum1*1000
		long lngNum2=(long)(dbNum2*1000);
		long lngValue=lngNum1-lngNum2;
		double dbValue=(double)lngValue/1000;
		System.out.println("6.110-2.600="+dbValue);
		
	}

}

 

分享到:
评论

相关推荐

    BigDecimal工具类.docx

    BigDecimal工具类.docx

    BigDecimal运算

    BigDecimal运算Jar包。支持sin、cos、tan、asin、acos、atan、pow、sqrt、cbrt、root、log10、log、ln、exp、sinh、cosh、tanh、asinh、acosh、atanh、deg、rad

    Java Bigdecimal使用原理详解

    主要介绍了Java Bigdecimal使用原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Bigdecimal.js

    是不是还在为多精度小数运算烦恼 这个满足你一切要求 项目中需要对金钱进行运算,为了使计算结果更准确,故使用bigDecimal工具来实现

    BigDecimal加减乘除计算

    bigdecimal加减乘除运算

    BigDecimal 总结

    BigDecimal 使用方法小节:包含构造方法及和、差、商、积等运算方式

    Java中BigDecimal的基本运算(详解)

    下面小编就为大家带来一篇Java中BigDecimal的基本运算(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    bigdecimal

    java丢失精度,bigdecimal加减乘除

    Java BigDecimal类用法详解

    BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale 次幂。

Global site tag (gtag.js) - Google Analytics