从数据库检索时,非常高的浮点值变为无穷大

时间:2015-06-17 09:41:14

标签: java mysql sql-server hibernate jpa

我的数据库中有一个条目

select item_numeric_value from Item_Allowed_Values where id=761 

我的数据库中item_numeric_value的数据类型为float

我得到的结果是1.11111111111111E+49

当我在字符串中检索java中的这个值时,我得到无穷大。

我有什么遗漏或做错了吗?

1 个答案:

答案 0 :(得分:1)

您应该使用double代替float

    // Float.MAX_VALUE = 3.4028234663852886E38f
    float f = Float.parseFloat("1.11111111111111E+49");
    System.out.println("f=" + f);   // -> f=Infinity

    // Double.MAX_VALUE = 1.7976931348623157E308
    double d = Double.parseDouble("1.11111111111111E+49");
    System.out.println("d=" + d);   // -> d=1.11111111111111E49