使用NSString floatValue失去准确性?

时间:2012-05-14 09:00:02

标签: objective-c ios nsstring type-conversion

我是Objective-c的初学者,我有一个小问题,我相信你会在两秒内解决:P

我搜索了一个NSString到StackOverflow上的浮点值,并发现[NSString floatValue]可以帮助我我尝试但我不知道为什么我在点后失去所有的值...

这里是我的问题的代码:

- (void)setTimerDetails:(NSString *)time {
    CCLOG(@"TEST1 = %@", time);
    CCLOG(@"TEST2 = %f", [time floatValue]);
    CCLOG(@"TEST3 = %f", ([time floatValue] / 60));
    self.test.progress = ([time floatValue] / 60);
    self.crono.text = time;
}

你可以看到它在进度条中使用:P

但这是日志:

2012-05-14 10:53:39.279 Colors[533:1be03] TEST1 = 58,733
2012-05-14 10:53:39.280 Colors[533:1be03] TEST2 = 58.00000
2012-05-14 10:53:39.280 Colors[533:1be03] TEST3 = 0.966667

为什么TEST2线的点之后只有0? :■

感谢您帮助我们:)

1 个答案:

答案 0 :(得分:3)

,因为

Colors[533:1be03] TEST1 = 58,733

它是58,773而不是58.773

所以当它转向floatValue时,它只会抓住“58”部分