0
我有一些NSString
等於@"1234567.89"
。我必須從這個字符串製作floatValue
。當我打電話給[myString floatValue]
時,這個float
等於1234567.875000
。在此之前如何保持?我希望floatValue等於1234567.89000
。如何在Objective-C中四捨五入之前保持float值?
謝謝你的幫助。
我有一些NSString
等於@"1234567.89"
。我必須從這個字符串製作floatValue
。當我打電話給[myString floatValue]
時,這個float
等於1234567.875000
。在此之前如何保持?我希望floatValue等於1234567.89000
。如何在Objective-C中四捨五入之前保持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浮動:1234567.875000雙:1234567.890000
太謝謝你了。 –