java - DecimalFormat 解析数字错误。为什么?

标签 java decimalformat

我目前创建了一个基本的 Java 应用程序,它允许将提供的数字解析为格式化字符串。
我现在面临的问题是,DecimalFormat 以错误的格式格式化提供的值。

示例:

private final DecimalFormat format = new DecimalFormat();

public static void main(String[] args){
    int number;
    try{
        number = Integer.parseInt(args[0]);
    }catch(NumberFormatException ex){
        System.out.println("The provided value was invalid!");
        System.exit(0);
        return;
    }

    format.applyPattern("#,###,###.##");

    return format.format(number);
    System.exit(0);
}

我在这里面临的问题是,例如,如果我提供数字 123456789 作为 jar 命令中的第一个参数,它会返回 123'456'789 code> 而不是 123,456,789 所需的结果。

什么可能导致此问题?

最佳答案

使用java.text.DecimalFormat导入,以及以下代码:

private static final DecimalFormat format = new DecimalFormat();

    public static void main(String[] args) {
        int number = 1456781;

        format.applyPattern("#,###,###.##");

        System.out.println("The formatted version is -> " + format.format(number));
    }

我得到的输出是

The formatted version is -> 1,456,781

Process finished with exit code 0

那么它的格式似乎正确?

关于java - DecimalFormat 解析数字错误。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61695842/

相关文章:

java - 如何在GWT中为BlurEvent正确添加UiHandler?

java - Spring @Configuration如何缓存对bean的引用

java - 为什么我的 Hibernate 查询返回陈旧数据?

java - 用逗号格式化数字

java - 你如何将 java double 减少到 n 位有效数字?

java - Spring Boot 在测试时模拟其他休息客户端

java - 从java voip开始

java - 在没有语言环境的情况下格式化数字

java - BigDecimal 格式与 DecimalFormat

java - Java 中的 Fortran I/O 描述符?