java,将任何语言环境的字符串转换为双精度
我知道已经有一个类似的问题了,但这个问题有点不同 假设我们有一个字符串,我们知道它可以转换为double,但我们对它的语言环境一无所知。可能它的语言环境是英语(以点为分隔符)或法语(以逗号为分隔符),或者其他java,将任何语言环境的字符串转换为双精度,java,android,Java,Android,我知道已经有一个类似的问题了,但这个问题有点不同 假设我们有一个字符串,我们知道它可以转换为double,但我们对它的语言环境一无所知。可能它的语言环境是英语(以点为分隔符)或法语(以逗号为分隔符),或者其他 那么,如何将其转换为正确的双精度值呢?如果您想从“用户”(默认)区域设置解析一个数字,那么这可能会帮助您: double number = java.text.NumberFormat.getInstance().parse(stringNumber).doubleValue(); 我想
那么,如何将其转换为正确的双精度值呢?如果您想从“用户”(默认)区域设置解析一个数字,那么这可能会帮助您:
double number = java.text.NumberFormat.getInstance().parse(stringNumber).doubleValue();
我想如果您想强制执行它,可以循环并调用NumberFormat.getInstance(),如图所示如果您事先不知道语言环境,则无法执行。英语中的“100100”是法语中的1000倍。如果我们必须准确地获取双精度值,则您是对的。此方法在加拿大法语地区采用字符串值“0.001”到1.0