错误的葡萄牙语区域​​(巴西)

时间:2018-05-23 06:27:03

标签: java decimalformat

我正在尝试为葡萄牙(巴西)获取系统区域设置,但它将小数点分隔符设为.而不是,任何人都可以请求帮助吗?我使用的是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() + "");
}

将小数点分隔符设为.而不是,

1 个答案:

答案 0 :(得分:0)

我能够使用,区域设置(葡萄牙)获得预期的小数点分隔符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() + "");

我没有看到从br调用返回的任何DateFormat.getAvailableLocales()语言环境,所以它根本不存在(至少在我的JRE中)或者它使用小数点作为小数分隔器。请注意,我认为您应该使用pt_BR语言环境,但这假设您的JRE支持它。如果没有,那么您的代码可能只使用默认的语言环境。