为了账号安全,请及时绑定邮箱和手机立即绑定

使用不同区域设置的 DecimalFormat 无法正确解析字符串

使用不同区域设置的 DecimalFormat 无法正确解析字符串

吃鸡游戏 2023-10-19 21:21:55
代码:-((DecimalFormat)DecimalFormat.getInstance(new Locale("en","US"))).parse("0.5")输出:0.5代码 :-((DecimalFormat)DecimalFormat.getInstance(new Locale("es","CN"))).parse("0.5")输出:5我正在使用DecimalFormat将字符串格式化为数字,但它在某种程度上没有给出不同区域设置的预期结果。请帮助我为所有语言环境获得相同的输出。
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您需要为给定的区域设置使用正确的小数分隔符,因此由于西班牙语是逗号,因此您需要有

 ((DecimalFormat)DecimalFormat.getInstance(new Locale("es","CN"))).parse("0,5")

但当然,如果“0.5”是正确的格式,那么您需要将您的区域设置更改为与格式匹配的区域设置


查看完整回答
反对 回复 2023-10-19
?
12345678_0001

TA贡献1802条经验 获得超5个赞

您在区域设置中输入“es”,因此您将其解析为解析字符串的西班牙语方式。在西班牙语中,小数点分隔符是逗号。所以 0.5 就变成了 5。



查看完整回答
反对 回复 2023-10-19
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信