您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Android NumberFormatException:无效的Double-除非该值是有效的Double

Android NumberFormatException:无效的Double-除非该值是有效的Double

根据您的区域设置,它是否为有效的双精度数。在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

但是,您的问题可能不是那样。减号无效。您正在使用?而不是-(它们看起来相同,但字符不同)。演示:

Double.parseDouble("-0.05"); //ok
Double.parseDouble("?0.05"); //exception
其他 2022/1/1 18:30:12 有499人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶