Java十进制格式结果为尾随零

时间:2015-10-22 17:08:06

标签: java decimalformat

这是我的代码:

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)。为什么会这样?

1 个答案:

答案 0 :(得分:6)

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

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

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