我正在尝试计算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 = [[NSNumberFormatter alloc] init];
[unformatter setFormatterBehavior:NSNumberFormatterBehaviorDefault];
[unformatter setLocale:[NSLocale currentLocale]];
[unformatter setNumberStyle: NSNumberFormatterDecimalStyle];
[unformatter setAlwaysShowsDecimalSeparator:NO];