Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSN编号的自定义格式_Iphone_Ios_Nsnumberformatter - Fatal编程技术网

Iphone NSN编号的自定义格式

Iphone NSN编号的自定义格式,iphone,ios,nsnumberformatter,Iphone,Ios,Nsnumberformatter,在ios应用程序中,我试图允许用户输入一个数字和一种格式,我希望得到一个字符串,该字符串的格式为用户指定的格式: 为此,我尝试了以下方法: - (NSString *)formatNumber:(NSNumber *)number withFormat:(NSString *)format { NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setPositiveFormat:f

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

谢谢

编辑

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

这可能很有用:

关键报价:

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


您在方法的何处使用format参数?您似乎没有在该方法的任何位置设置NSNumberFormatter的格式。我看不出它对您发送的“格式”NSString有任何作用。很抱歉,我编辑了我的问题。我在写问题时忘了把它包括在内。