在Windows上,我可以设置自定义小数点分隔符而不更改我的国家/地区或语言设置。这是通过这个小对话框完成的:
我的语言和国家/地区的标准分隔符为,
,我将其更改为.
。
在.NET上,系统会自动选择自定义分隔符:
// Prints .
Console.WriteLine(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator[0]);
另一方面,在Java中,它没有被选中:
// Prints ,
System.out.println(DecimalFormatSymbols.getInstance().getDecimalSeparator());
如何在Java中检测自定义小数分隔符?
编辑:当我将数字格式更改为特定语言的预先存在的格式时,它将被Java拾取并由我的示例中的代码打印。只有当我将分隔符修改为自定义分隔符时,它才会进行纠察。
答案 0 :(得分:1)
使用solution2 = fittestBy sum
的替代构造函数设置区域设置,我猜你的情况是德语。这里有JAVA7
和JAVA8
API。
为给定的区域设置创建
solution3 = fittestBy product
对象。此构造函数只能为Java运行时环境支持的语言环境构造实例,而不能为已安装的DecimalFormatSymbolsProvider实现支持的语言环境构造实例。对于完整的语言环境覆盖,请使用getInstance方法。
DecimalFormatSymbols
当然,您可以使用DecimalFormatSymbols
获取计算机区域设置。
更新:
当您要求使用C ++中的Windows自定义十进制sep ...时,您可以得到它:
DecimalFormatSymbols dfs = new DecimalFormatSymbols( Locale.GERMAN );
System.out.println( dfs.getDecimalSeparator() );
我在Java中尝试使用此代码片段...但找不到它......
Locale.getDefault()
对不起......今天再也没有时间......希望有所帮助...