Математика в Objective-C - PullRequest
       1

Математика в Objective-C

0 голосов
/ 16 декабря 2011

Я пытаюсь создать приложение с математическими функциями.То, что озадачивает меня, возводит в квадрат ценность.Я хочу получить значение (weight x 703) / (height) ^ 2.Кодировка (height) ^ 2 это то, что беспокоит меня.Я не могу понять, как кодировать возведение в квадрат значения высоты.Что у меня есть ниже:

float floatPersonBMI = [personWeight.text floatValue] * 703 / [personHeight.text floatValue];
NSString *stringPersonBMI = [[NSString alloc]initWithFormat:@"%f", floatPersonBMI];
personBMI.text = stringPersonBMI;

Что или как мне нужно выразить это уравнение (код), чтобы [personHeight.text floatValue] возводился в квадрат перед делением веса на 703 или [personWeight.text floatValue] * 703 ??

Ответы [ 3 ]

2 голосов
/ 16 декабря 2011

C, и, следовательно, Objective-C, не имеет повышения к оператору мощности.

В этом случае самый простой способ - получить высоту в переменную и умножить ее самостоятельно.

, например

float height = [personHeight.text floatValue];   
float floatPersonBMI = [personWeight.text floatValue] * 703 / (height * height);

Обычно вы используете функцию pow.

float floatPersonBMI = [personWeight.text floatValue] * 703 / pow(height, 2.0);
2 голосов
/ 16 декабря 2011

Знаете ли вы, что x 2 = x & times; Икс? Так что это не должно быть так сложно:

float height = [personHeight.text floatValue];
float floatPersonBMI = [personWeight.text floatValue] * 703 / (height * height);
NSString *stringPersonBMI = [[NSString alloc] initWithFormat:@"%f", floatPersonBMI];
personBMI.text = stringPersonBMI;

Вы также можете сделать код еще проще и исключить использование [stringPersonBMI release] (у вас действительно есть это, верно?):

float height = [personHeight.text floatValue];
float bmi = [personWeight.text floatValue] * 703 / (height * height);
personBMI.text = [NSString stringWithFormat:@"%f", bmi];
1 голос
/ 16 декабря 2011

Вам нужно использовать функцию c pow(x,y), чтобы получить x ^ y, поэтому в вашем случае это будет (weight*703)/pow(height,2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...