如何计算保存格式化十进制数的字符串的长度

时间:2013-10-04 09:18:05

标签: objective-c nsstring nsformatter

我正在尝试计算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];

0 个答案:

没有答案