0

私はObjective-cの初心者ですが、2秒で解決すると確信している小さな問題があります:P

StackOverflowでNSStringを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しかないのはなぜですか?:s

みんな助けてくれてありがとう:)

4

1 に答える 1

3

なぜなら

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

58.773ではなく58,773です

したがって、floatValueを使用すると、「58」の部分のみが取得されます。

于 2012-05-14T09:06:51.223 に答える