格式化没有区域设置的数字



用户可以在GUI中指定文件输出格式。特别是他可以定义一个数字格式。第一个想法是让他指定一种可以与DecimalFormat一起使用的格式,但是对于我的用例,DecimalFormat至少有两个主要缺点:

  • 它使用用户的语言环境,所以是##。##转换'。' to ','在德国。
  • 逗号之前和逗号之后的数字没有区别,所以不能将12.50格式化为1250。在我的用例中也需要。

StringFormat也不能这样做。所以我的问题是,如果你知道任何已经处理这个问题的库,或者我必须自己编程一个简单的格式化器。

DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
DecimalFormat decimalFormat = new DecimalFormat("##.##");
decimalFormat.setDecimalFormatSymbols(otherSymbols);

它使用用户的区域设置

不是这样的。来自Javadoc:

"要获取特定语言环境(包括默认语言环境)的NumberFormat,请调用NumberFormat的一个工厂方法,例如getInstance()。一般来说,不要直接调用DecimalFormat构造函数。

相关内容

  • 没有找到相关文章

最新更新