0

我有一些NSString平等@"1234567.89"的。我必须用floatValue这个字符串制作。当我打电话时[myString floatValue],这float是平等的1234567.875000。在此之前如何保持?我想要 floatValue equal 1234567.89000

谢谢你的帮助。

4

1 回答 1

5

问题是浮点数不能代表您正在寻找的精度那么大的数字。尝试使用 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 浮点数:1234567.875000 双数:1234567.890000

于 2013-02-04T21:24:39.233 回答