Java DecimalFormat,是否可以在小数部分进行分组?

标签 java floating-point decimalformat

我需要打印小数字(直方图上的百分比),但 java.text.DecimalFormat 做了一些奇怪的事情。对于:

System.out.println((new DecimalFormat("#,##0.######")).format(123456.000123));
System.out.println((new DecimalFormat("#,##0.######")).format(0.000123));
System.out.println((new DecimalFormat("#,##0.###x###x###x###")).format(0.001));

我得到了:

123,456.000123
0.000123
0.001xxx

似乎 java.text.DecimalFormat 专为格式化货币而设计...

是否可以使用 java.text.DecimalFormat 在小数部分进行分组?

或建议任何其他格式化库...

我期望这样或类似的:

GoodFormater("0.123456") === "0.123'456"

最佳答案

老实说,我还没有看到像您所说的那样格式化的小数,这可能是现有格式化程序不支持它的原因之一。我也想知道为什么要格式化小数点(只是为了满足我的好奇心)。

但我会做这样的事情,

1.) 将整数和小数分开。 (123123.789789 变成 123123 和 789789)

2.) 分别格式化它们。 (123,123 和 789,789)

3.) 将它们与 . 字符连接并创建所需的输出 (123,123.789,789)。

这是一些定制工作,但我个人认为这比从头开始编写要好。

关于Java DecimalFormat,是否可以在小数部分进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273849/

相关文章:

c# - 如何将 float 组转换为 byte[] 并返回?

Python:浮点输入作为整数输出返回?

java - 在 Java 中用于价格格式化的 DecimalFormat

Java Math RoundingMode.HALF_EVEN 不同的结果

java - 使用 SmartGWT 包装预制元素?

java - Windows 命令行的类路径格式

java - Java 中的 JSON 数组

php - 解析字符串并在货币符号后隔离浮点值

java - 如何使用java反转缓冲区内的字节

Java 更改 ArrayList<Double> 中 double 型的格式