我正在玩NumberFormat,但不知怎的,我不能得到一个例如“12.34”成一个数字。
我的所作所为:
NumberFormat nf = NumberFormat.getInstance();
try {
return nf.parse(inputString);
} catch (ParseException e) {
return null;
}
当我给它“34.45”时,3445出来。
答案 0 :(得分:1)
NumberFormat.getInstance();
将为运行该程序的JVM的当前默认FORMAT语言环境获取NumberFormat实例。
并非每种语言环境格式都使用点作为小数符号。根据你的名字猜测你可能将德语作为默认语言环境,因此逗号用作小数符号,而dot则被解释为一个简单的(千)分隔符,用于使数字更易于阅读。
要获取忽略当前默认语言环境的NumberFormat实例,您可以使用:
NumberFormat.getInstance(Locale.ROOT);
答案 1 :(得分:0)
尝试使用逗号而不是点。这取决于您使用的系统区域设置。十进制的某个地方用点写,有些地方用逗号写。
并检查here如何使用特定区域设置将字符串转换为double。