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