NSNumberFormatter interfering with NSString intValue



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

因为数据可以由用户手动编辑,所以我提取NSForm字段中的stringValue。我注意到,当我执行这个函数时,它还会捕获已注入字符串的逗号。我需要用这些值做一些数学计算,当试图调用NSString intValueNSString floatValue时,它会导致问题。有人有什么想法吗?

我认为我可能必须"预解析"字符串,以删除逗号,然后将其转换为floatint值。

NSNumberFormatter也可以反向工作:

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

最新更新