我想知道Java中是否有类似于Java DecimalFormat(“ 0.#”)的字符串格式化程序

我有以下一组需要用破折号屏蔽的数字,“ 00-0000-00”,我希望会有一个格式化程序,使我能够以类似的方式处理DecimalFormat(“ 00-0000 -00“)。如果不存在这种方法,请有人提供替代解决方案的示例。

保存到数据库时,我需要去除破折号,并在从数据库中检索它们时将其重新添加。

谢谢

最佳答案

您看过String.format("%2d-%4d-%2d", int1, int2, int3)吗?

例:

    int n = 12345678;
    String formatted = String.format("%2d-%4d-%2d", n / 1000000, (n / 100) % 10000, n % 100);
    int orig = Integer.valueOf(formatted.replace("-", ""));
    System.out.println(String.format("formatted=%s, orig=%d", formatted, orig));
    // formatted=12-3456-78, orig=12345678

10-04 20:27