如何使双精度类型的数字在 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);
我正在做一个计算你的 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);