1.BigDecimal类概述及其构造方法
由于在运算的时候,float类型和double类型很容易丢失进度,所以,为了能够精确的表示、计算浮点数,java提供了BigDecimal类
BigDecimal类是不可变得、任意精度的有符号是进制数
2.构造方法及成员方法
package com;
import java.math.BigDecimal;
/**
* BigDecimal类
* 由于在运算的时候,float类型和double类型很容易丢失精度。所以,为了能精确的表示、计算浮点数。
* java提供了BigDecimal类
* BigDecimal类是不可变的、任意精度的有符号十进制数。
* 构造方法
* public BigDecimal(String val)
* 成员方法
* public BigDecimal add(BigDecimal value)
* public BigDecimal subtract(BigDecimal value)
* public BigDecimal multiply(BigDecimal value)
* public BigDecimal divide(BigDecimal value)
* public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
*/
public class BidDecimalDemo {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.09");
BigDecimal b2 = new BigDecimal("0.01");
//public BigDecimal add(BigDecimal value)
System.out.println(b1.add(b2));//0.10
//public BigDecimal subtract(BigDecimal value)
System.out.println(b1.subtract(b2));//0.08
//public BigDecimal multiply(BigDecimal value)
System.out.println(b1.multiply(b2));//0.0009
//public BigDecimal divide(BigDecimal value)
System.out.println(b1.divide(b2));//9
//public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
System.out.println(b1.divide(b2, 2,BigDecimal.ROUND_HALF_UP));//9.00
}
}
转载于:https://blog.51cto.com/11841428/1861233