Я не могу получить десятичную после простой математики деления - PullRequest
0 голосов
/ 28 марта 2012

Посмотрите на мой простой математический скрипт

double s = 3/2;
NSLog (@"%.2f",s);

Я получаю 1, оно должно быть 1,50

Как мне это исправить?

Ответы [ 3 ]

4 голосов
/ 28 марта 2012

double s = 3/2 означает деление int 3 на int 2, а затем приведение результата (который является int 1) к двойному (дает вам 1,0).

Вы хотите это:

double s = 3.0/2.0;
0 голосов
/ 28 марта 2012

3 и 2 - целые числа. Таким образом, 3/2 равно 1. Вы должны попробовать вместо

double s = 3.0/2.0;
NSLog (@"%1.2f",s);

Это даст вам правильный ответ.

0 голосов
/ 28 марта 2012

try double s = 3/2.0 и 3 и 2 являются целыми числами, поэтому, несмотря на то, что получатель равен double, вы все равно получаете результат типа int, а затем он конвертируется в double

...