Objective-C. Математические функции - PullRequest
0 голосов
/ 17 января 2012

У меня есть переменная, которая содержит значение текстового поля.Я хочу умножить это значение x на десятичное число, например, 0,013.Но после умножения я получил ответ 0. Он принимает десятичное значение как 0. В чем причина?

Ответы [ 3 ]

1 голос
/ 17 января 2012

Как только вы получите текст из текстового поля, преобразуйте строку, используя floatValue:

CGFloat val = [myValue floatValue];
CGFloat res = val * 0.013;
0 голосов
/ 17 января 2012

В комментарии ОП отмечает

Если я использую 4/3, тогда ответ принимается только как 1

Это говорит о том, что проблема заключается в том, как инициализируется значение: 4/3 равно целочисленное деление , возвращая int значение 1. Решение состоит в том, чтобы убедиться, что вычисления на самом деле имеют дело с числами с плавающей запятой, начинайте с конца, используя литералы с плавающей точкой, например, заменяя 4/3 на 4.0/3.0

0 голосов
/ 17 января 2012

вам нужно конвертировать текст в нужный формат:

float floatValue = [yourTextField floatValue];
int intValue = [yourTextField intValuew];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...