NSNumberFormatter干扰NSString intValue

时间:2013-05-22 21:44:21

标签: objective-c macos cocoa nsstring nsnumberformatter

我有NSForm用于向用户显示内容。可以通过连接到Web托管的XML文件或由用户手动编辑来通过应用程序更新表单。通过Interface Builder,我将每个表单值设置为通过NSNumberFormatter进行格式化,以便更容易阅读数据显示。 NSNumberFormatter仅插入千位分隔符。

由于用户可以手动编辑数据,因此我正在提取stringValue字段的NSForm。我注意到,当我执行此功能时,它还会抓取已注入字符串的逗号。我需要对这些值进行一些数学计算,这会在尝试调用NSString intValueNSString floatValue时导致问题。有人有什么想法吗?

我想我可能需要“预先解析”字符串以删除逗号,然后再将其转换为floatint值。

1 个答案:

答案 0 :(得分:1)

NSNumberFormatter也可以倒退:

NSNumber *n = [formatter numberFromString:@"123,456.78"];
float x = [n floatValue];