我发现了两种将字符串转换为双精度值的策略(考虑到国际化):
1)这使用aNumberFormat
结合ParsePosition
来解析字符串,后来实例assert
的索引ParsePosition
与字符串的长度相同。这样做的缺点是 javadoc forNumberFormat#parse(String,ParsePosition)
声明该方法将尝试返回 aLong
如果可能,否则为 a Double
。这种方法目前工作正常,但我不确定它是否会在某些情况下失败?
2)这只是使用NumberFormat
单独来解析字符串,但问题是它会引发一段ParseException
时间的调用NumberFormat#parse(String)
,所以我总是需要将代码包围在一个try-catch
块中。
我的问题是哪种方法更好,或者是否有另一种方法比这两种方法更好?
我正在尝试将法语语言环境中的字符串解析为双精度。