使用 NumberFormat 将 DoubleValue 作为字符串转换为数字
Convert a DoubleValue as String to Number using NumberFormat
我正在玩 NumberFormat,但不知何故我无法获得例如“12.34”变成一个数字。
我的工作:
NumberFormat nf = NumberFormat.getInstance();
try {
return nf.parse(inputString);
} catch (ParseException e) {
return null;
}
当我给它“34.45”时,结果是 3445。
尝试使用逗号而不是点。这取决于您使用的系统区域设置。小数有的地方用点写,有的地方用逗号写。
并检查 here 如何使用特定语言环境将字符串转换为双精度。
NumberFormat.getInstance();
将为程序所在 运行 中的 JVM 当前默认 FORMAT 语言环境获取 NumberFormat 实例。
并非所有区域设置格式都使用点作为小数点。根据您的名字猜测,您可能将德语作为默认语言环境,因此逗号用作小数点,而点被解释为简单的(千位)分隔符,用于使数字更易于阅读。
要获取忽略当前默认语言环境的 NumberFormat 实例,您可以使用:
NumberFormat.getInstance(Locale.ROOT);
我正在玩 NumberFormat,但不知何故我无法获得例如“12.34”变成一个数字。
我的工作:
NumberFormat nf = NumberFormat.getInstance();
try {
return nf.parse(inputString);
} catch (ParseException e) {
return null;
}
当我给它“34.45”时,结果是 3445。
尝试使用逗号而不是点。这取决于您使用的系统区域设置。小数有的地方用点写,有的地方用逗号写。
并检查 here 如何使用特定语言环境将字符串转换为双精度。
NumberFormat.getInstance();
将为程序所在 运行 中的 JVM 当前默认 FORMAT 语言环境获取 NumberFormat 实例。
并非所有区域设置格式都使用点作为小数点。根据您的名字猜测,您可能将德语作为默认语言环境,因此逗号用作小数点,而点被解释为简单的(千位)分隔符,用于使数字更易于阅读。
要获取忽略当前默认语言环境的 NumberFormat 实例,您可以使用:
NumberFormat.getInstance(Locale.ROOT);