【发布时间】:2010-02-14 01:59:50
【问题描述】:
我有一个代表数字的字符串,我想将它转换为 NSInteger。问题是,字符串是用千位分隔符格式化的:
"1,234"
当使用 [value intValue] 时,我得到 1 作为值。
是因为它认为千位分隔符是小数分隔符吗? (我的语言环境使用逗号作为小数分隔符,使用空格或点作为千位分隔符)
如何确保我得到正确的号码?
-素食主义者
【问题讨论】:
标签: objective-c
我有一个代表数字的字符串,我想将它转换为 NSInteger。问题是,字符串是用千位分隔符格式化的:
"1,234"
当使用 [value intValue] 时,我得到 1 作为值。
是因为它认为千位分隔符是小数分隔符吗? (我的语言环境使用逗号作为小数分隔符,使用空格或点作为千位分隔符)
如何确保我得到正确的号码?
-素食主义者
【问题讨论】:
标签: objective-c
NSNumberFormatter 类不仅可以对数字进行编码,还可以根据当前语言环境对其进行解码。
【讨论】:
我会像 Georg 建议的那样找到一个可以从字符串中解码数字的类,但一个快速的解决方案也可以是使用 NSString 类的 stringByReplacing… 方法去除多余的千位分隔符。
【讨论】: