2012-01-03 3 views
2

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

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

Что я делаю неправильно?

P.S. Я не мог найти никаких других статей в StackOverflow, которые были бы полезны.

ответ

3

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

float currentType = [totalPrice.text floatValue]; 
float newTime = currentTime + 2.5; 
totalPrice.text = [NSString stringWithFormat:@"%.2f", newTime]; 
+0

Спасибо за это! –

2

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

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

+0

Спасибо за комментарий! –

Смежные вопросы