2015-02-12 37 views
5

Mogłabym konwertować liczby angielskie na arabskie w Xcode. ale teraz chcę konwertować/cyfry arabskie perskie z numerami angielskiego w iOS ...jak przekonwertować numer arabski na angielski numer

proszę kierować mi o tym ...

To jest mój kod do konwersji (angielski arabski):

- (NSString*)convertEnNumberToFarsi:(NSString*)number { 
    NSString *text; 
    NSDecimalNumber *someNumber = [NSDecimalNumber decimalNumberWithString:number]; 
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
    NSLocale *gbLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"fa"]; 
    [formatter setLocale:gbLocale]; 
    text = [formatter stringFromNumber:someNumber]; 
    return text; 
} 

Odpowiedz

11

Spróbuj tego, mam nadzieję, że to pomoże ci:

NSString *NumberString = @"۸۸۸"; 
NSNumberFormatter *Formatter = [[NSNumberFormatter alloc] init]; 
NSLocale *locale = [NSLocale localeWithLocaleIdentifier:@"EN"]; 
[Formatter setLocale:locale]; 
NSNumber *newNum = [Formatter numberFromString:NumberString]; 
if (newNum) { 
    NSLog(@"%@", newNum); 
} 
//print in console 888 
+0

Dziękuję bardzo. –

+0

NSNumberFormatter * Formatter = init [[NSNumberFormatter alloc] init]; NSLocale * locale = [NSLocale localeWithLocaleIdentifier: @ "EN"]; [Formatter setLocale: locale]; NSNumber * newNum = [numer formatuFromString: str]; if (newNum) { NSLog (@ "% @", newNum); } str = [NSString stringWithFormat: @ "% @", newNum]; NSString * firstCH = [str substringWithRange: NSMakeRange (0,1)]; if ([firstCH isEqualToString: @ "0"]) { return [NSString stringWithFormat: @ "% @", newNum]; } else { return [NSString stringWithFormat: @ "0% @", newNum]; –

0

Postępuj tak samo. Po prostu zamień swój identyfikator lokalizacji na "en".

7

Musisz zająć się nie tylko liczbami perskimi, ale także arabskimi.

Skorzystaj z poniższych funkcji/metod, aby to zrobić:

// Convert string From English numbers to Persian numbers 
+(NSString *) convertToPersianNumber:(NSString *) string { 
    NSNumberFormatter *formatter = [NSNumberFormatter new]; 
    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"fa"]; 
    for (NSInteger i = 0; i < 10; i++) { 
     NSNumber *num = @(i); 
     string = [string stringByReplacingOccurrencesOfString:num.stringValue withString:[formatter stringFromNumber:num]]; 
    } 
    return string; 
} 

// Convert string From Arabic/Persian numbers to English numbers 
+(NSString *) convertToEnglishNumber:(NSString *) string { 
    NSNumberFormatter *formatter = [NSNumberFormatter new]; 
    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"fa"]; 
    for (NSInteger i = 0; i < 10; i++) { 
     NSNumber *num = @(i); 
     string = [string stringByReplacingOccurrencesOfString:[formatter stringFromNumber:num] withString:num.stringValue]; 
    } 

    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"ar"]; 
    for (NSInteger i = 0; i < 10; i++) { 
     NSNumber *num = @(i); 
     string = [string stringByReplacingOccurrencesOfString:[formatter stringFromNumber:num] withString:num.stringValue]; 
    } 

    return string; 
}