当我尝试+2.50时,NSString四舍五入到最接近的整数

时间:2012-01-03 02:01:17

标签: iphone ios5 nsstring xcode4.2

我正在尝试以小数形式计算UILabel,但它会四舍五入到最接近的整数。这是代码:

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

我做错了什么?

P.S。我在StackOverflow上找不到任何有用的文章。

2 个答案:

答案 0 :(得分:3)

int是一种仅存储整数(整数)的数据类型。使用floatdouble表示十进制数,如果需要精确表示,请使用NSDecimalNumber。

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

答案 1 :(得分:2)

如果你打算使用这样的小数,你应该使用float类型。

int旨在与整数一起使用。