Ashwinkumar Mangrulkar
Ashwinkumar Mangrulkar

Reputation: 2965

How to convert number to text like spoken language?

If value is in million then the string should be .. miliion ..thousand ..hundred. I used this code but it showing million value in thousand, how to resolve this issue?

  //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);

Upvotes: 1

Views: 399

Answers (1)

Binarian
Binarian

Reputation: 12446

It works for me.

Code:

#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);
    }
}

Output:

2014-06-11 09:51:35.472 Untitled[480:507] Answer: six million four hundred fifty-three thousand three hundred twenty-three

Upvotes: 1

Related Questions