2012-05-14 39 views
0

我是Objective-c的初学者,我有一个小问题,我相信你会在两秒钟内解决:PNSString floatValue失去准确性?

我搜索了将一个NSString转换为StackOverflow上的float值,发现[的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? :■

谢谢你对我的帮助球员:)

+0

TEST1 = 58,733使用逗号而不是小数点。 – Martin

+0

它是一个逗号或点? –

+0

Test1不是使用逗号的浮点数。 –

回答

3

因为

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

是58773不是58.773

所以当它转向的floatValue,只抢了 “58” 的部分

+0

谢谢,愚蠢的错误:/,它与'。'更好地工作。 >< –