NSString floatValue 失去准确性



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

我在 StackOverflow 上搜索了将 NSString 转换为浮点值,发现 [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 ? :s

谢谢你们帮助我:)

因为

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

是58,773而不是58.773

所以当它转向 floatValue 时,它只抓住了 "58" 部分

最新更新