Ben*_*ard 3 java double parsing android numberformatexception
所以前几天,Google Play开发者控制台的Crashes部分中出现了以下错误:
java.lang.NumberFormatException: Invalid double: "?0.05"
Run Code Online (Sandbox Code Playgroud)
现在纠正我,如果我错了,但这实际上是一个有效的双 - 它被认为是我的计算机,模拟器和我自己的Android设备(Nexus 5)上的有效双
它崩溃的设备是运行Android 4.3的Galaxy Note II - 任何关于它为什么会崩溃的想法?
它是或不是有效的双重取决于您的区域设置.对于US/ENGLISH语言环境,它-0.05是一个有效的双精度型,但具有FRENCH语言环境,例如,它不是(它应该是-0,05逗号).
您可以通过以下方式查看它:
NumberFormat fmt = NumberFormat.getNumberInstance(Locale.US);
double d = fmt.parse("-0.05").doubleValue(); //-0.05
fmt = NumberFormat.getNumberInstance(Locale.FRENCH);
d = fmt.parse("-0.05").doubleValue(); //-0.0
d = fmt.parse("-0,05").doubleValue(); //-0.05
Run Code Online (Sandbox Code Playgroud)
编辑
但是你的问题可能不是那样.减号无效.您使用的?是-(它们看起来相同但不是相同的字符).演示:
Double.parseDouble("-0.05"); //ok
Double.parseDouble("?0.05"); //exception
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3721 次 |
| 最近记录: |