iphone - 将 NSString 转换为 NSNumber

标签 iphone ios objective-c nsstring nsnumber

Possible Duplicate:
How to convert an NSString into an NSNumber

如何转换 NSString (例如@“五”)进入 NSNumber (5)。我在 Stack Overflow 上查看过是否有任何问题可以回答这个问题,但似乎很多人都在要求进行数字到字符串的转换 - 而不是相反。

最佳答案

这大致有效,至少应该让您开始:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterSpellOutStyle;

NSArray *testStrings = @[@"Five",@"twenty-four",@"Nineteen",@"One hundred forty-two"];

for (NSString *test in testStrings) {

    NSNumber *result = [formatter numberFromString:[test lowercaseString]];

    NSLog (@"String %@ -> %@ as number",test,result);

}

需要考虑的一些事情:

  • 您需要将语言环境正确设置为某个固定语言环境(如果这些字符串全部来自服务器或某种常量语言),或者让它 float 到用户的语言环境(如果用户是输入的人)字符串)
  • 正如其他人所指出的,这个解析器可能不够复杂,无法满足您的需求。例如,最后一个字符串“33”实际上返回了错误的结果。其他的都工作正常。正如 @JonathanGrynspan 所建议的,如果您在这里告诉我们更多有关您目标的信息,也许有人可以提出更好的建议。

希望对您有所帮助。

关于iphone - 将 NSString 转换为 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14590876/

相关文章:

ios - 如何更改 iOS 系统警报的色调颜色?

iphone - NSDictionary 添加 NULL 键值

ios - iPhone应用程序类 View 问题

ios - 将 NSString 从 plist 传递到 ImageView 时遇到问题

objective-c - 使用 valueForKeyPath 获取数组元素

ios - GPUImage 平均颜色与应用的灰度过滤器不匹配

iphone - 如何从 StoryBoard 设计的 UITableView 中删除静态单元格

ios - ReactiveCocoa 将单个信号转换为值

objective-c - OS X Windows 风格的应用栏

ios - 如何从另一个发送事件到 UIViewController