例子:使用BigDecimal进行浮点数的比较,以下是代码展示:
import java.math.BigDecimal;
public class Main{
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);//0.5
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);//0.5000000000000001
}
}
浮点数使用总结
·默认是double类型
·浮点数存在舍入误差,数字不能精确表示。如果需要进行不产生舍入误 差的精确数字计算,需要使用BigDecimal类。
·避免比较中使用浮点数,需要比较请使用BigDecimal类。