首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要objective-C语法来计算bmi

我需要objective-C语法来计算bmi
EN

Stack Overflow用户
提问于 2010-06-13 20:28:47
回答 3查看 1.7K关注 0票数 1

实际上,我正在做bmi计算器。在那里我想计算以英寸为单位的身高和以磅为单位的体重指数,也需要以厘米为单位的身高和以公斤为单位的体重的正确公式。

我试过了,但无法计算出如下所示的范围的实际值。超出范围。

BMI类别:

代码语言:javascript
复制
* Underweight = <18.5
* Normal weight = 18.5-24.9
* Overweight = 25-29.9
* Obesity = BMI of 30 or greater
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-13 21:19:55

在这里(这里假设您的原始值是ints -您可以轻松地使用浮点数,而不会有任何问题):

代码语言:javascript
复制
// 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
}
票数 3
EN

Stack Overflow用户

发布于 2010-06-13 20:33:31

使用英制单位的BMI:

代码语言:javascript
复制
BMI = weight(lb) x 703 / height(in)^2

参考文献:BMI on Wikipedia

票数 0
EN

Stack Overflow用户

发布于 2010-06-13 20:55:57

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

然后你就会做很多如果不是的话

代码语言:javascript
复制
CGFloat BMI = weight(lb) x 703 / height * height

if (BMI <= 18.5) 
  NSLog(@"Under weight");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3032219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档