欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中BigDecimal类,高精度数字处理

程序员文章站 2022-03-26 21:01:35
BigDecimal 属于大数据,精度极高,总类名:java.math.BigDecimal。不属于基本数据类型,属于java对象(引用数据类型)。这是SUN公司提供的一个类,专门用在处理财务数据当中。注意:财务数据方面,用double是远远不够的,会产生极大的误差测试代码:import java.math.BigDecimal;public class BigDecimalTest01 { public static void main(String[] args) {...

BigDecimal 属于大数据,精度极高,总类名:java.math.BigDecimal。

不属于基本数据类型,属于java对象(引用数据类型)。

这是SUN公司提供的一个类,专门用在处理财务数据当中。

注意:财务数据方面,用double是远远不够的,会产生极大的误差

测试代码:

import java.math.BigDecimal;

public class BigDecimalTest01 {

    public static void main(String[] args) {

        // 这个100不是普通的100,是精度极高的100
        BigDecimal value1 = new BigDecimal(100);

        // 精度极高的200
        BigDecimal value2 = new BigDecimal(200);

        // 计算它们的和,能直接value1 + value2吗?显然不行,因为它们都是引用数据类型

        // 相加,调用public BigDecimal add(BigDecimal augend)
        BigDecimal addValue = value1.add(value2);
        System.out.println(addValue);  // 300

        // 相减,调用public BigDecimal subtract(BigDecimal subtrahend)
        BigDecimal subValue = value1.subtract(value2);
        System.out.println(subValue);  // -100

        // 相乘,调用public BigDecimal multiply(BigDecimal multiplicand)
        BigDecimal mulValue = value1.multiply(value2);
        System.out.println(mulValue);  // 20000

        // 相除,调用public BigDecimal divide(BigDecimal divisor)
        BigDecimal divValue = value1.divide(value2);
        System.out.println(divValue);  // 0.5


    }
}

本文地址:https://blog.csdn.net/pipizhen_/article/details/107357230

相关标签: Java java