java.math包下面两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。
- BigInteger实现了任意精度的整数运算
- BigDecimal实现了任意精度的浮点运算
注意:不要使用浮点数进行比较!需要比较数据时请使用BigDecimal类。
package chap1_基础语法;
import java.math.BigDecimal;
/**
* 使用Big Decimal进行浮点型数据比较
*/
public class Test03 {
public static void main(String[] args) {
BigDecimal bd = BigDecimal.valueOf(1.0);
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
System.out.println(bd); //1.0-0.1-0.1-0.1-0.1-0.1 //0.5
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1); //0.5000000000000001
}
}