Посмотрите на мой простой математический скрипт
double s = 3/2; NSLog (@"%.2f",s);
Я получаю 1, оно должно быть 1,50
Как мне это исправить?
double s = 3/2 означает деление int 3 на int 2, а затем приведение результата (который является int 1) к двойному (дает вам 1,0).
double s = 3/2
Вы хотите это:
double s = 3.0/2.0;
3 и 2 - целые числа. Таким образом, 3/2 равно 1. Вы должны попробовать вместо
double s = 3.0/2.0; NSLog (@"%1.2f",s);
Это даст вам правильный ответ.
try double s = 3/2.0 и 3 и 2 являются целыми числами, поэтому, несмотря на то, что получатель равен double, вы все равно получаете результат типа int, а затем он конвертируется в double
double s = 3/2.0