0

私はいくつかのNSString等しいを持ってい@"1234567.89"ます。この文字列から作成する必要がありfloatValueます。私が電話[myString floatValue]したとき、これfloatは等しい1234567.875000です。この前に保つ方法は?floatValue equal が必要です1234567.89000

ご協力ありがとう御座います。

4

1 に答える 1

5

問題は、float では、探している精度で大きな数値を表すことができないことです。代わりに double を使用してみて、 を使用して取得します[myString doubleValue]。以下の小さなサンプル プログラムは、これを示しています。

#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
    @autoreleasepool {
        NSString *myString = @"1234567.89";
        float floatVal = [myString floatValue];
        double doubleVal = [myString doubleValue];
        NSLog(@"String: %@ float: %f double: %f", myString, floatVal, doubleVal);
    }
}

文字列: 1234567.89 float: 1234567.875000 double: 1234567.890000

于 2013-02-04T21:24:39.233 に答える