如何在此代码中获得2位小数答案?因为我得到超过2

时间:2017-09-12 04:01:08

标签: java

import java.util.Scanner;
public class bmi {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        float height,heightSquared,BMI;

        int weight;

        System.out.println("Your height in meters:");

        height = scan.nextFloat();

        System.out.println("Your weight in kilograms:");

        weight = scan.nextInt();

        heightSquared = (height*height);

        BMI = weight/heightSquared;

        if (BMI < 18.5) {
            System.out.println("Your BMI result:"+ BMI + "(UNDER-WEIGHT)");
        }
        else if (BMI > 18.4 && BMI < 24.6) {
            System.out.println("Your BMI result:"+ BMI + "(NORMAL-WEIGHT)");
        }
        else if (BMI > 24.9 && BMI < 30) {
            System.out.println("Your BMI result:"+ BMI + "(OVER-WEIGHT)");
        }
        else {

            System.out.println("Your BMI result:"+ BMI + "(OBESSE)");
        }

    }
}

这是我获取一个人的体重指数(BMI)的代码,它在运行时没关系,但我唯一的问题是如何将答案换成2位小数? 例如:

你的身高(米):  1.70  你的体重是千克:  50  您的BMI结果:17.301032(重量不足)

我希望输出只有17.30或2位小数。 我应该改变什么?

1 个答案:

答案 0 :(得分:0)

试试这个。您可以使用%2f获取两位小数

Your BMI result:"+ String.format("%.2f", BMI)