例子:使用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类。
本文通过代码示例展示了如何使用BigDecimal类解决浮点数运算中的精度问题,对比了直接使用double类型进行计算时产生的误差,并强调了在需要高精度计算场景下使用BigDecimal的重要性。
10万+

被折叠的 条评论
为什么被折叠?



