无法将我的数字格式化为3个小数点(.000)

时间:2013-12-10 11:08:35

标签: java swing decimalformat

public class SimpleTrig {
    public static void main(String[] args) {

        DecimalFormat dx;
        dx = new DecimalFormat("0.000");

        String angleStr;
        double angle, angleCosine;

        angleStr = JOptionPane.showInputDialog(null,"Enter an angle (in degrees)");
        angle = Double.parseDouble(angleStr);
        angleCosine = Math.cos(Math.toRadians(angle));

        JOptionPane.showMessageDialog(null, "The cosine of " + angle 
                                      + " degrees is " + dx.format(angleCosine));
    }
}

无论我输入任何角度,angleCosine的输出都给出了0.000的输出作为我的最终答案。

6 个答案:

答案 0 :(得分:0)

使用new DecimalFormat("#.###")

答案 1 :(得分:0)

更改

 dx = new DecimalFormat("0.000");

进入

 dx = new DecimalFormat("#0.000");

或者

 dx = new DecimalFormat("#.###");

答案 2 :(得分:0)

您可以使用类似

的内容
DecimalFormat df2 = new DecimalFormat( "#0.00" );

答案 3 :(得分:0)

尝试将格式更改为

DecimalFormat dx = new DecimalFormat("#.000");

答案 4 :(得分:0)

运行时似乎工作正常,输入45,得到0.707。使用java 1.6.0_30

必须添加最终的右括号和包定义才能让它运行。

答案 5 :(得分:0)

尝试使用

  DecimalFormat dx = new DecimalFormat("##,##0.000");

或检查angleCosine值是否合适。