如何将数字转换为文字,如口语?

如果价值在百万,那么string应该是.. miliion ..thousand ..hundred 。 我使用这个代码,但它显示千万价值,如何解决这个问题?

  //convert to words NSString *wordNumber; NSNumber *numberValue = [NSNumber numberWithInt:digit]; //needs to be NSNumber! NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle]; // [numberFormatter setNumberStyle:@"en_IN"]; [numberFormatter setLocale:[NSLocale currentLocale]]; // happen by default? wordNumber = [numberFormatter stringFromNumber:numberValue]; NSLog(@"Answer: %@", wordNumber); 

这个对我有用。

码:

 #import <Foundation/Foundation.h> int main(int argc, char *argv[]) { @autoreleasepool { //convert to words NSString *wordNumber; NSNumber *numberValue = @6453323; //needs to be NSNumber! NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle]; // [numberFormatter setNumberStyle:@"en_IN"]; [numberFormatter setLocale:[NSLocale currentLocale]]; // happen by default? wordNumber = [numberFormatter stringFromNumber:numberValue]; NSLog(@"Answer: %@", wordNumber); } } 

输出:

2014-06-11 09:51:35.472无题[480:507]答案:六百四十五万三千三百二十三