我正在尝试获取葡萄牙(巴西)的系统区域设置,但它将小数点分隔符作为 。
而不是 ,
任何人都可以帮忙吗?我正在使用 Java 8。
下面是我使用的代码:
public static void main(String[] args)
{
final Locale locale = new Locale(System.getProperty("user.country.format"));
final NumberFormat nf = NumberFormat.getNumberInstance(locale);
DecimalFormatSymbols decSymbols = new DecimalFormatSymbols(locale);
System.out.println("Decimal Symbol"+ decSymbols.getDecimalSeparator() + "");
}
获取小数分隔符作为 .
而不是 ,
。
最佳答案
我能够使用 pt
语言环境(葡萄牙)获得您期望的小数点分隔符 ,
:
final Locale locale = new Locale("pt");
final NumberFormat nf = NumberFormat.getNumberInstance(locale);
DecimalFormatSymbols decSymbols = new DecimalFormatSymbols(locale);
System.out.println("Decimal Symbol"+ decSymbols.getDecimalSeparator() + "");
我没有看到调用 DateFormat.getAvailableLocales()
返回任何 br
语言环境,所以它根本不存在(至少在我的 JRE 中是这样) ) 或者它使用小数点作为小数点分隔符。请注意,我认为您应该使用 pt_BR
语言环境,但前提是您的 JRE 支持它。如果没有,那么您的代码可能只使用默认语言环境。
关于java - 为葡萄牙(巴西)获取错误的语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50481218/