gpt4 book ai didi

iphone - NSNumberFormatter 格式化美国电话号码

转载 作者:太空狗 更新时间:2023-10-30 03:30:32 25 4
gpt4 key购买 nike

我正在尝试将用户输入的一串数字转换为像 iPhone 上的 Phone.app 这样的性感字符串。这是我正在使用的代码,它不起作用(没有特殊格式出现)并且在一定数量的数字之后它只是开始在字符串的末尾添加“0”。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterNoStyle];
[formatter setPositiveFormat:@"+# (###) ###-###"];
[formatter setLenient:YES];
NSString *strDigits = [self stringByReplacingOccurrencesOfRegex:@"[^0-9+]" withString:@""];
return [formatter stringFromNumber:[NSNumber numberWithDouble:[strDigits doubleValue]]];

最佳答案

我认为您的问题是 NSNumberFormatter 不支持方括号、空格或破折号。我尝试实现与您相同的方法,但它无声地失败了,只输出未格式化的文本。

这里的一般问题是 iPhone SDK 没有提供一种方法来以依赖于语言环境的方式格式化电话号码。

我已针对以下问题向 Apple 提出错误(其中两个是已知问题的重复项,因此我为这些问题包含了 Apple 的原始错误 #):

#6933244 - Need iPhone SDK interface to format text as locale dependent phone number
#5847381 - UIControl does not support a setFormatter method
#6024985 - Overridden UITextField drawTextInRect method is never called

在理想的世界中,Apple 会提供一个 NSPhoneNumberFormatter,您可以在 UIControl 上调用 setFormatter,以便显示 text 以一种漂亮的方式。不幸的是,iPhone 上不存在。

关于iphone - NSNumberFormatter 格式化美国电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/665111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com