我正在尝试计算NSString
中已使用本地化从十进制数字格式化的字符数。
使用下面的代码,我在英国本地化中正确获得了长度。但是,如果我尝试使用法语区域格式,其中数千个分隔符是空格而小数点是逗号,则会搞砸。
有人可以就正确的方法提出建议吗?
这是应该给我字符数的位:
-(NSString*)setFormatLength:(double)result;
{
NSNumber* aNumber = [NSNumber numberWithDouble:result ];
NSString* lengthcalc =[unformatter stringFromNumber: aNumber] ;
int lnth = lengthcalc.length;
NSLog(@" length %d",lnth);
if(lnth == 15)
{
//do something
}
else
{
// do something else
}
return displayresult;
这是unformatter:
unformatter = [[NSNumberFormatter alloc] init];
[unformatter setFormatterBehavior:NSNumberFormatterBehaviorDefault];
[unformatter setLocale:[NSLocale currentLocale]];
[unformatter setNumberStyle: NSNumberFormatterDecimalStyle];
[unformatter setAlwaysShowsDecimalSeparator:NO];