java - 如何格式化 6 或 9 位数字,如#、##、###

标签 java

如何格式化 6 或 9 位数字,例如 #,##,### [代表 6] 和 ##,##,##,### [代表 9]

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class CheckFormater {

public static void main(String[] args) {
    NumberFormat nf6 = new DecimalFormat("#,##,###");
    System.out.println(nf6.format(123456d));

    NumberFormat nf9 = new DecimalFormat("##,##,##,###");
    System.out.println(nf9.format(123456789d));
}

}

我得到的输出如下

123,456
123,456,789

我的期望如下

1,23,456
12,34,56,789

如何进行服装格式化?

最佳答案

您可以使用ICU4J

import com.ibm.icu.text.DecimalFormat;
import com.ibm.icu.text.DecimalFormatSymbols;

public class NewClass {
    public static void main(String[] args)  { 
        DecimalFormatSymbols dfs = new DecimalFormatSymbols();
        dfs.setGroupingSeparator(',');
        DecimalFormat nf6  = new DecimalFormat("#,##,###", dfs);
        DecimalFormat nf9  = new DecimalFormat("##,##,##,###", dfs);
        System.out.println(nf6.format(123456d));
        System.out.println(nf9.format(123456789d));
    }   
}

//prints
//1,23,456
//12,34,56,789

关于java - 如何格式化 6 或 9 位数字,如#、##、###,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169288/

相关文章:

java - 有没有一种方法可以将依赖项仅应用于一个包?

java - 用于在 Java 中打开和读取数据的 File 和 Scanner 对象

java - java泛型中奇怪的类型错误

java - 处置不工作

不修改集合时抛出 Java ConcurrentModificationException

java - 如何从 JUnit 测试中判断 Eclipse 项目是否打开?

java - JFrame:单击按钮时如何隐藏主窗口?

java - Maven 集成测试失败 : includes0 has null value

java - 如何使用 Spring 4 的 JmsTemplate 监听来自 MQ 的消息?

java - 将对象列表从 View 发送到 Controller : limited to 256 objects