NSString округление до ближайшего целого числа, когда я пытаюсь +2.50 - PullRequest
2 голосов
/ 03 января 2012

Я пытаюсь подсчитать UILabel в десятичных числах, но оно округляется до ближайшего целого.Вот код:

int currentTime = [totalPrice.text intValue];
    int newTime = currentTime + 2.50;
    totalPrice.text = [NSString stringWithFormat:@"%d.00", newTime];

Что я делаю не так?

PS Я не смог найти другие полезные статьи о StackOverflow.

Ответы [ 2 ]

3 голосов
/ 03 января 2012

int - это тип данных, в котором хранятся только целые числа (целые числа).Используйте float или double для десятичных чисел или NSDecimalNumber, если вам нужны точные представления.

float currentType = [totalPrice.text floatValue];
float newTime = currentTime + 2.5;
totalPrice.text = [NSString stringWithFormat:@"%.2f", newTime];
2 голосов
/ 03 января 2012

Вам следует использовать тип float для этих значений, если вы собираетесь работать с такими десятичными знаками.

int предназначен для использования с целыми числами.

...