2015-02-12 16 views
5

Ich könnte englische Zahlen in Xcode in arabische Zahlen umwandeln. aber jetzt möchte ich Arabisch/Persisch Zahlen Englisch Zahlen in iOS ...Wie man arabische Nummer in englische Nummer umwandelt

Bitte leite mich darüber ...

Dies ist mein Code für die Konvertierung (Englisch auf Arabisch) konvertieren:

- (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; 
} 

Antwort

11

Versuchen Sie dieses, ich hoffe, das hilft Ihnen:

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

Thank you so much. –

+0

NSNumberFormatter * Formatierer = [[NSNumberFormatter alloc] init]; NSLocale * locale = [NSLocale localeWithLocaleIdentifier: @ "DE"]; [Formatierer setLocale: locale]; NSNumber * newNum = [FormatierungsnummerFromString: str]; if (newNum) { NSLog (@ "% @", neueNum); } str = [NSString stringWithFormat: @ "% @", newNum]; NSString * firstCH = [str substringWithRange: NSMakeRange (0,1)]; if ([firstCH istEqualToString: @ "0"]) { return [NSString stringWithFormat: @ "% @", newNum]; } sonst { Rückgabe [NSString stringWithFormat: @ "0% @", newNum]; –

0

die gleichen Folgen. Ersetzen Sie einfach Ihre Gebietsschema-ID mit "en".

7

Sie müssen sich nicht nur um persische, sondern auch um arabische Zahlen kümmern.

Verwenden Sie die folgenden Funktionen/Methoden, dies zu tun:

// 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; 
} 
Verwandte Themen