自定义格式化NSNumber

时间:2013-07-01 14:12:26

标签: iphone ios nsnumberformatter

在ios应用程序中,我试图允许用户输入数字和格式,我想获得一个字符串,其格式为用户指定的格式:

为此,我试过这个:

- (NSString *)formatNumber:(NSNumber *)number withFormat:(NSString *)format
{
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
   [formatter setPositiveFormat:format];
    NSString *formatedString = [formatter stringFromNumber:number];
    return formatedString;
}

但如果我试着打这样的话:

NSNumber *number = [NSNumber numberWithDouble:1234567890];
NSString *string = [self formatNumber:number withFormat:@"###-###-####"];

我希望得到一个结果:123-456-7890

但它没有用。

是@“### - ### - ####”格式错误的语法?或者我使用NSNumberFormatter错了吗?

感谢您的帮助

PS:我不想硬编码算法来遍历字符并插入破折号( - ),因为该格式只是一个例子,因为用户可以自由地改变它。

由于

修改

在我写代码时感到很难过,我错过了一条线。现在添加了它

1 个答案:

答案 0 :(得分:1)

这可能很有用:

https://discussions.apple.com/thread/2399192

关键报价:

  

数字格式不允许使用括号和破折号。