在Java中直接做運算會產生數值不精確的問題,所以Java語言提供了更加準確的API,即BigDecimal()類:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class TestBigDecimal {
public static void main(String[] args) {
BigDecimal d1 = new BigDecimal("2.0");
BigDecimal d2 = new BigDecimal("1.1");
/*
.add 加法
.subtract 減法
.multiply 乘法
.divide 除法
*/
BigDecimal d3 = d1.subtract(d2);
System.out.println(d3);//準確
System.out.println(2.0-1.1);
System.out.println(20.0/6.0);
BigDecimal d4 = new BigDecimal("20.0");
BigDecimal d5 = new BigDecimal("3.0");
System.out.println(20.0/3.0);
//參數1:除數 參數2: 小數點後保留位數 參數3:舍入模式
BigDecimal d6 = d4.divide(d5, 4, RoundingMode.HALF_UP);//四捨五入,jdk math.RoudingMode
System.out.println(d6);//保留4位
}
}