Search code examples
objective-cpersian

How to show the numbers in Persian text in Objective C like 125 show "one hundred - twenty five"?


NSString *numberWord;
NSNumber *numberValue = [NSNumber numberWithInt:125];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
numberWord = [numberFormatter stringFromNumber:numberValue];

//I want to show "صد و بیست و پنج"


Solution

  • You need to set the number formatter's locale to a Persian locale.

    NSNumber *numberValue = @(125);
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
    [numberFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"fa"]];
    NSString *numberWord = [numberFormatter stringFromNumber:numberValue];
    

    This will output:

    صد و بیست و پنج