Java 当我认为应该是NumberFormatException时,parseDouble()返回无穷大
Java 当我认为应该是NumberFormatException时,parseDouble()返回无穷大,java,android,Java,Android,Double.parseDouble()method存在范围和意外行为: Double.parseDouble("4cff9d79-a696-4dfc-89f9-a265ae117257"); 这没有像预期的那样抛出NumberFormatException。结果是无限。对于其他UUID,将引发异常。问题只存在于Android Java,在桌面版本下,它工作正常。为什么? PS:使用了Android API 17,在Android 4.4.2手机上重复出现异常。Double.parseDoub
Double.parseDouble()
method存在范围和意外行为:
Double.parseDouble("4cff9d79-a696-4dfc-89f9-a265ae117257");
这没有像预期的那样抛出NumberFormatException
。结果是无限
。对于其他UUID,将引发异常。问题只存在于Android Java,在桌面版本下,它工作正常。为什么?
PS:使用了Android API 17,在Android 4.4.2手机上重复出现异常。Double.parseDouble()
code:
if (result.e < -1024) {
result.zero = true;
return result;
} else if (result.e > 1024) {
result.infinity = true;
return result;
}
我们的案例是UUIDs:
Double.parseDouble("4cff9d79-a696-4dfc-89f9-a265ae117257"); //Infinity
Double.parseDouble("4cff9d79-a696-4dfc-89fe-126534117257"); //0.0
因此,使用这种方法是不安全的。寻找替代方案
UPD:。翻译不是为了一个价格
UPD2:错误是。Double.parseDouble()
code:
if (result.e < -1024) {
result.zero = true;
return result;
} else if (result.e > 1024) {
result.infinity = true;
return result;
}
我们的案例是UUIDs:
Double.parseDouble("4cff9d79-a696-4dfc-89f9-a265ae117257"); //Infinity
Double.parseDouble("4cff9d79-a696-4dfc-89fe-126534117257"); //0.0
因此,使用这种方法是不安全的。寻找替代方案
UPD:。翻译不是为了一个价格
UPD2:错误是。是。我已经阅读了Q&A style
Leaders页面,并认为这是一种方法。请do
不要滥用代码格式设置
。对不起,我被开除了是的。我已经阅读了问答风格
规则页面,并决定这是一种方法。请不要滥用代码格式
。对不起,我被激动了