0

在 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:我不想硬编码一个算法来遍历字符并插入破折号(-),因为该格式只是一个示例,因为用户可以自由更改它。

谢谢

编辑

对不起,在这里写我的代码时,我错过了一行。现在添加它

4

1 回答 1

1

这可能有用:

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

关键报价:

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

于 2013-07-01T14:24:29.217 回答