如何将数字设为double类型在JFrame中不会出现(24.9999)

时间:2015-09-29 03:39:10

标签: java floating-point double number-formatting

我正在做一个计算你的BMI(体重指数)的程序,一切正常,但是出现的结果,这是不对的,因为出现了一个数字巨人,如24,99999,我希望它只显示像24,99。

我的代码是:

  height = Double.parseDouble(txtHeight.getText());
                    weight =     Double.parseDouble(txtWeight.getText());           
                    bmi = height/weight;
                    bmi = weight/3.24;              


                    if(bmi < 17) {
                        lblBMI.setText("Your BMI is : " +bmi  + "," + " very underweight");
                    }

示例:如果我将高度设置为1,80,权重设置为45它将显示在结果中,因为您的BMI是13,88888888888888888。

PS:所有变量都是Double。

1 个答案:

答案 0 :(得分:3)

您可以使用String.format()方法,如下所示:

double d = 7.9352;
String s = String.format("%.2f",d);

这将输出7.93,因为2。%。。2f代表您想要包含在小数点后的位数。

或者,如果你正在做的就是打印出字符串,你可以像这样使用System.out.printf():

System.out.printf("%.2f",d);