在两个不同的固定数量的地方用逗号格式化数字[重复]

Posted

技术标签:

【中文标题】在两个不同的固定数量的地方用逗号格式化数字[重复]【英文标题】:Format a number with commas in two different fixed number of places [duplicate] 【发布时间】:2013-03-19 21:02:11 【问题描述】:

一个例子将最好地解释我想要什么 - 比如说,我有一个像这样的号码34236536465.57。我想这样格式化:34,23,65,36,465.57。除了手动操作之外,我可以使用任何 JDK 类或第三方库吗?我尝试使用java.text.DecimalFormat("#,##,###.##"),但逗号仅出现在 3 位数之后,而我希望逗号先出现在 3 位数之后,然后再出现 2 位数之后。

【问题讨论】:

感谢 codelark。看来我没有别的办法,只能手动做。 @raatprohory 也许你可以做一些字符串操作。 事实上,我只是在测试 ICU4J 库的 com.ibm.icu.text.DecimalFormat 类,使用与 java.text.DecimalFormat 相同的模式,即“#,##,###。 ##" 及其格式完全符合我的要求; ICU4J 的 DecimalFormat 具有诸如“主要分组大小”和“次要分组大小”之类的概念,正是这样做的。无论如何,感谢您的快速回复。 @raatprohory 如果你得到了答案,那就把它作为答案。可能将来有人可以使用它。 谢谢斯密特。我做到了。 【参考方案1】:

com.ibm.icu.text.DecimalFormat ICU4J 库类可以做同样的事情。我们可以使用与 java.text.DecimalFormat 中使用的相同模式“#,##,###.##”来完全按照我想要的方式格式化。

【讨论】:

以上是关于在两个不同的固定数量的地方用逗号格式化数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在数字前加上一个固定的三个字母代码?

如何将数字格式化为一定数量的小数位加逗号分隔符?

如何将数字格式化为固定的语言环境?

用 2 位小数格式化逗号 PYTHON

【js】金钱格式化(每三位逗号分隔)的方法

Python:在逗号之前用恒定数量的字符编写数字