解决格式化double小数点变成逗号问题

解决格式化double小数点变成逗号问题

数字格式化

我们通过下面的方法来对数字进行格式化,获取小数点后三位的小数显示,但是当我们将系统语言设置为一些奇奇怪怪的国家的时候(比如南美),我们就会惊奇的发现数字显示中小数点变成了逗号:

NumberFormat format= NumberFormat.getInstance();
format.setMaximumFractionDigits(3);
format.setMinimumFractionDigits(3);
double x=15.4424;
String formatX = format.format(x);

如果我们正好需要通过这些数字字符串来获取对应的数字的话,一般的

Double.valueOf(formatX)

就会报错了,要取得对应的数字需要如下操作:

try {
    Number num = format.parse(formatX);
} catch (ParseException e) {
    e.printStackTrace();
}

设置格式化统一语言

另一种办法是通过设置语言,来强制不按照系统语言显示:

NumberFormat format= NumberFormat.getInstance(Locale.ENGLISH);
format.setMaximumFractionDigits(3);
format.setMinimumFractionDigits(3);
double x=15.4424;
String formatX = format.format(x);

工作中遇到,特此记录一下;

你可能感兴趣的:(解决格式化double小数点变成逗号问题)