在使用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.pide(money2)));}
实现的步骤时,首先需要将两个进行计算的数字封装成BigDecimal类型的数据,然后,通过调用BigDecimal类的add(BigDecimal)、subtract(BigDecimal)、multiply(BigDecimal)、pide(BigDecimal)方法进行相应的加减乘除。
注意:在进行创建BigDecimal对象时,构造方法中传入的值需是字符串,即:
BigDecimal money = new BigDecimal("1.1");//正确
BigDecimal money1 = new BigDecimal(1.1);//错误
本文永久更新链接地址:http://www.xuebuyuan.com/Linux/2017-02/140091.htm
以上就上有关Java浮点数精确计算的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。