我有一些NSString等于@"1234567.89"。我必须从此字符串中创建floatValue。当我呼叫[myString floatValue]时,此float等于1234567.875000。在此之前如何保持?我想让floatValue等于1234567.89000

谢谢你的帮助。

最佳答案

问题是浮点数不能表示具有您要查找的精度的大数字。尝试改用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

关于ios - 如何在Objective-C中取整之前保持浮点值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14695758/

10-09 16:14