Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由java.lang.NumberFormatException引起:无效浮点:“0”∞&引用;_Java_Exception_Floating Point - Fatal编程技术网

由java.lang.NumberFormatException引起:无效浮点:“0”∞&引用;

由java.lang.NumberFormatException引起:无效浮点:“0”∞&引用;,java,exception,floating-point,Java,Exception,Floating Point,我正在查看Fabric Crashlytics,以查看我的应用程序发生的崩溃,并发现以下情况: 由java.lang.NumberFormatException引起:无效浮点:∞" 位于java.lang.StringToReal.invalidReal(StringToReal.java:63) 位于java.lang.StringToReal.initialParse(StringToReal.java:164) 位于java.lang.StringToReal.parseFloat(Str

我正在查看Fabric Crashlytics,以查看我的应用程序发生的崩溃,并发现以下情况:

由java.lang.NumberFormatException引起:无效浮点:∞" 位于java.lang.StringToReal.invalidReal(StringToReal.java:63) 位于java.lang.StringToReal.initialParse(StringToReal.java:164) 位于java.lang.StringToReal.parseFloat(StringToReal.java:323) 位于java.lang.Float.parseFloat(Float.java:306)

代码

public static Float parseFloat(String value) {
    return Float.parseFloat(value.replace(",", "."));
}

请帮我理解一下。

很可能是浮点数溢出


如果浮点值大于它所能处理的值,它将返回无穷大(这种情况也会发生除以0的情况)。您应该添加一个条件来检查数字是否介于-Float.MAX_值和Float.MAX_值之间(浮点范围从1.40239846 x 10^-45到3.40282347 x 10^38)

显然,您要求它解析无穷大符号,但它无法处理。如果您需要处理它,您可以检查特殊情况。@Carcigenicate,您知道这怎么可能吗?因为用户只能键入5个字符(数字)他们可能已经逐字地输入了无穷大的符号,并且不管你用什么来验证这些数字是否被输入,都可以认为这个符号是一个数字并让它通过。我不认为一个溢出会产生一个无穷大的符号,除非在试图解析它之前对其进行格式化。