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/