Java 带有尾随零的十进制格式结果

Java Decimal Format results with trailing zeros

这是我的代码:

import java.text.DecimalFormat;

public class asd {
    public static void main(String args[]) {
        DecimalFormat d = new DecimalFormat("#00.00");
        System.out.println(d.format(0250));
    }
}

它给出 168.00 作为答案。这不是我期待的答案(即 250.00)。为什么会这样?

因为 0250 中的前导 0 使其成为八进制。删除前导 0。喜欢,

public static void main(String args[]) {
    DecimalFormat d = new DecimalFormat("#00.00");
    System.out.println(d.format(250));
}

另请参阅 this question 了解为什么这是八进制表示法的语法。