2013-10-22 57 views
0

我無法轉換等9.471347923322231e + 18一個階數成一個NSNumber。有誰知道如何做到這一點呢?謝謝。轉換階數成的NSNumber

+2

在其數據類型你有沒有存儲?的NSString?雙? – burax

+2

你試過的代碼在哪裏? –

回答

1

對於指數號碼,你應該使用:

NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithMantissa:12345 
             exponent:-3 
             isNegative:YES]; 

,或者如果你想從NSString的得到它:

+ (NSDecimalNumber *)decimalNumberWithString:(NSString *)numericString locale:(NSDictionary *)locale; 

例如:

NSString *stringNumber = @"9.471347923322231e+18"; 
NSDictionary *locale = [NSDictionary dictionaryWithObject:@"." forKey:NSLocaleDecimalSeparator]; 
NSDecimalNumber *number = [NSDecimalNumber decimalNumberWithString:stringNumber locale:locale];