Преобразование чисел любого языка в определенный язык

Я хочу преобразовать числа любых языков в английский формат в автономном режиме. Это означает, что я получаю 10,00 на арабском языке как «١٠.٠٠». Я хочу преобразовать его обратно в 10.00.

Я нашел несколько ссылок, но не думаю, что в данном случае это хорошая идея. Потому что для этого я должен писать для всех языков. конвертировать kABPersonPhoneProperty в арабские числа

Может ли кто-нибудь помочь мне в решении этого


person Prajnaranjan Das    schedule 22.05.2014    source источник
comment
попробуйте это stackoverflow.com/questions/11670330/;)   -  person Nathan Hegedus    schedule 22.05.2014
comment
Здравствуйте, Натан Хегедус, спасибо за ваш ответ. Я пробовал это, но это перенастройка NAN, если я перевожу арабские числа на английский, я использовал 10 как @١٠” и локаль как @“en_US”   -  person Prajnaranjan Das    schedule 23.05.2014


Ответы (1)


Я решил таким образом

BOOL isCommaUsingCountry = [self ifCountryCodePresentIntheList];

NSString *strAfterReplacing = @"";
if (isCommaUsingCountry)
{
    //If some numbers come like “10.000,00”
    NSString *strAfterReplacingDot = [str stringByReplacingOccurrencesOfString:@"." withString:@""];
    strAfterReplacing = [strAfterReplacingDot  stringByReplacingOccurrencesOfString:@"," withString:@"."];

    //For removing Arabic comma
    strAfterReplacing = [strAfterReplacing  stringByReplacingOccurrencesOfString:@"٫" withString:@"."];

}
else
{
    strAfterReplacing = [str stringByReplacingOccurrencesOfString:@"," withString:@""];
}

NSArray *separray = [strAfterReplacing componentsSeparatedByString:@"."];
NSString *numbersBeforeDecimal = @"";
NSString *numbersAfterDecimal = @"";
if([separray count] == 2)
{
    numbersBeforeDecimal = [separray objectAtIndex:0];
    numbersAfterDecimal = [separray objectAtIndex:1];
}

//Converting back to US format
if([strAfterReplacing length] > 0)
{
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    NSLocale *usLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];
    [formatter setLocale:usLocale];
    NSNumber *newNum1  = [formatter numberFromString:numbersBeforeDecimal];
    NSNumber *newNum2  = [formatter numberFromString:numbersAfterDecimal];
    numbersBeforeDecimal = [NSString stringWithFormat:@"%@", newNum1];
    numbersAfterDecimal = [NSString stringWithFormat:@"%@", newNum2];
}
NSString *combinedStr = [NSString stringWithFormat:@"%@.%@", numbersBeforeDecimal, numbersAfterDecimal];
person Prajnaranjan Das    schedule 23.05.2014