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中进程创建的几种方式