Я попытался вычислить 4/3 и сохранить его в число с плавающей запятой.
float answer = 4/3;
Это возвращает только 1. Разве Objective-C не может вычислять такие дроби или мне нужно сделать это каким-то другим способом?
Я попытался вычислить 4/3 и сохранить его в число с плавающей запятой.
float answer = 4/3;
Это возвращает только 1. Разве Objective-C не может вычислять такие дроби или мне нужно сделать это каким-то другим способом?
Если числитель и знаменатель оба являются целыми числами, то деление будет целым. Использовать
float answer = 4/(float)3
4
и 3
— целые числа. Таким образом, это деление является целочисленным делением, которое оценивается как 1
.
Если вам нужно деление с плавающей запятой, используйте (по крайней мере, один) литерал с плавающей запятой.
float answer = 4f/3;
Ваше задание содержит целочисленное деление, которое возвращает ноль, если число, на которое вы делите, больше. Вероятно, вы хотели сделать:
float p1 = (4.0f / 3.0f);
or
float p1 = ((float)4 / 3);