首页 > 编程语言 > 详细

Java浮点数精确计算

时间:2017-02-01 19:55:44      阅读:229      评论:0      收藏:0      [点我收藏+]

  在使用java语言编写程序处理一些有关于金额或者精度很高的数据时,通常会使用到一个叫做 BigDecimal的类。

  BigDecimal是一个封装过的类用于计算一些对结果格式有要求的数值。

下面是一个例子:

	public static void main(String[] args) {
		double money1 = 2.0;
		double price1 = 1.102;
		System.out.println("非精确:"+(money1-price1));
		BigDecimal money2 = new BigDecimal("2");
		BigDecimal price2 = new BigDecimal(String.valueOf(price1));
		System.out.println("精确:"+(money2.subtract(price2)));
		System.out.println("加一下"+(money2.add(price2)));
		System.out.println("乘一下"+(money2.multiply((price2))));
		System.out.println("除一下"+(price2.divide(money2)));
	}

   实现的步骤时,首先需要将两个进行计算的数字封装成BigDecimal类型的数据,然后,通过调用BigDecimal类的add(BigDecimal)、subtract(BigDecimal)、multiply(BigDecimal)、divide(BigDecimal)方法进行相应的加减乘除。

  注意:在进行创建BigDecimal对象时,构造方法中传入的值需是字符串,即:

        BigDecimal money = new BigDecimal("1.1");//正确
        BigDecimal money1 = new BigDecimal(1.1);//错误

    

本文出自 “SYT_BLOG” 博客,请务必保留此出处http://shengyunt.blog.51cto.com/11109954/1894505

Java浮点数精确计算

原文:http://shengyunt.blog.51cto.com/11109954/1894505

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!