java.lang.NumberFormatException: Infinite or NaN

1、错误原因

在对Double类型的数据进行计算操作,将结果转化为BigDecimal时抛出了NumberFormatException。

Infinite 、 NaN是double类型的常量:无穷大、非数。结果类型转换在构造BigDecimal对象时,构造方法中传入的Double类型为无穷大或非数字时会抛出NumberFormatException异常。

2、概念补充

  1. 任意整数(byte、short、int、long皆可)除以整数0结果为ArithmeticException;

  2. 0除以浮点0结果为NAN,细分的话包括以下三种情况:

    (1)0/0.0

    (2)0.0/0.0

    (3)0.0/0

    情况(3)虽然除的是个整数0,但在运算过程中发生了类型转化变成了浮点0;

  3. 任意数(八大基本类型皆可)除以浮点0结果为Infinity/-Infinity。

在java中浮点数0并非一个准确值,而是一个无限接近0的数。

你可能感兴趣的:(java)