如何使双精度类型的数字在 JFrame 中不会像那样 (24.9999)

How to make numbers as type double don't appears like that(24.9999) in JFrame

我正在做一个计算你的 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.

您可以像这样使用 String.format() 方法:

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

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

或者,如果您所做的只是打印字符串,您可以像这样使用 System.out.printf():

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