我需要Objective-C语法来计算bmi

时间:2010-06-13 12:28:47

标签: iphone objective-c

其实我正在研究bmi计算器。在哪里我想计算以米为单位的高度bmi和以磅为单位的重量,还需要以厘米为单位的高度和以千克为单位的高度的正确公式。

我已经尝试但无法计算实际值,如下所示。它超出了范围。

BMI类别:

* Underweight = <18.5
* Normal weight = 18.5-24.9
* Overweight = 25-29.9
* Obesity = BMI of 30 or greater

3 个答案:

答案 0 :(得分:2)

在这里(这假设您的原始值为int s - 您可以轻松地使用浮点数而不会出现任何问题):

// Metric
int heightInCms;
int weightInKgs;

// Imperial
int heightInInches;
int weightInPounds;

float height;   // metres
float weight;   // kilograms

// Unit Conversions
height = (float) heightInCms * 0.01;
weight = (float) weightInKgs;

height = (float) heightInInches * 0.0254;
weight = (float) weightInPounds * 0.4536;

float BMI = weight / (height * height);

if (BMI < 18.5) {
    // Underweight
}
else if (BMI < 25.0) {
    // Normal
}
else if (BMI < 30.0) {
    // Overweight
}
else {
    // Obese
}

答案 1 :(得分:0)

英国皇家单位的BMI:

BMI = weight(lb) x 703 / height(in)^2

参考:BMI on Wikipedia

答案 2 :(得分:0)

我猜对了你的问题是浮点数和整数。您必须确保使用CGFloat权重浮动,以便它可以包含浮点数

然后你就做了很多if else

CGFloat BMI = weight(lb) x 703 / height * height

if (BMI <= 18.5) 
  NSLog(@"Under weight");