0
當我試圖通過NSNumberFormatterNSNumberFormatter錯誤?
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
[formatter setPositiveFormat:@"###0.##"];
NSNumber *result = [formatter numberFromString:@"8.8"];
NSLog(@"%@", [result stringValue]);
[formatter release];
結果是8.800000000000001
到的NSString @"8.8"
轉換爲NSNumber的。
對於任何其它值(即:6.6
,7.7
,9.9
,1.2
,4.7
等),記錄的結果是完全一樣的NSString傳遞給numberFromString
方法。
我正在使用XCode 4.1和4.3模擬器。如果我放入(或不放入)setMaximumFractionDigits
或/和setPositiveFormat
,則結果始終爲8.800000000000001
。發生什麼事?