我编写了一个将数字从阿拉伯数字转换为数字的函数。我已经使用了NSNumberFormatter
。但问题是数字caqn从零开始,NSNumberFormatter
截断前导零。我需要这个值,因为我必须进行比较。该数字可能不会始终为零。所以我不能提出任何其他条件。如果有人有解决方案,请求帮助我。谢谢。
我的代码是:
-(NSString*)convertNumberFromArabic:(NSString*)numberToConvert{
NSNumberFormatter *nf1 = [[NSNumberFormatter alloc] init];
NSLocale *locale = [NSLocale localeWithLocaleIdentifier:@"en"];
[nf1 setLocale:locale];
NSNumber *newNum = [nf1 numberFromString:numberToConvert];
NSString *reverseConvert = [nf1 stringFromNumber:newNum];
return reverseConvert;
}
答案 0 :(得分:0)
你的问题有点令人困惑。您说您希望"将数字从阿拉伯数字转换为数字",但您的方法名称是到阿拉伯语。我编写了从阿拉伯语转换为拉丁语的方法。如果您想采用其他方法,只需将YES
更改为NO
。
以下是代码:
-(NSString*)convertArabicDigitsToLatin:(NSString*)numberToConvert{
NSMutableString* result = [numberToConvert mutableCopy];
CFRange range = CFRangeMake(0, result.length);
CFStringTransform((__bridge CFMutableStringRef)result, &range, kCFStringTransformLatinArabic, YES);
return result;
}
这并不是将字符串解释为数字,只是将阿拉伯数字音译为字符串字符为拉丁数字。