我知道已经存在类似的问题,但这个问题有点不同。
假设我们有一个字符串,我们知道它可以转换为double,但我们对它的语言环境一无所知。也许它的语言环境是英语(带点作为分隔符)或法语(逗号作为分隔符)或其他内容。
那么,我该如何将其转换为正确的双值?
答案 0 :(得分:3)
如果你想解析"用户" (默认)locale,那么也许这可以帮到你:
double number = java.text.NumberFormat.getInstance().parse(stringNumber).doubleValue();
答案 1 :(得分:0)
我想如果你想暴力破解它,你可以遍历NumberFormat.getAvailableLocales()并为每一个调用NumberFormat.getInstance(),如图所示here