【问题标题】:getting integer from string with formatted number从带有格式化数字的字符串中获取整数
【发布时间】:2010-02-14 01:59:50
【问题描述】:

我有一个代表数字的字符串,我想将它转换为 NSInteger。问题是,字符串是用千位分隔符格式化的:

"1,234"

当使用 [value intValue] 时,我得到 1 作为值。

是因为它认为千位分隔符是小数分隔符吗? (我的语言环境使用逗号作为小数分隔符,使用空格或点作为千位分隔符)

如何确保我得到正确的号码?

-素食主义者

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    NSNumberFormatter 类不仅可以对数字进行编码,还可以根据当前语言环境对其进行解码。

    【讨论】:

    • 通过将正数格式设置为@"#,##0",我得到了正确的数字。谢谢!
    【解决方案2】:

    我会像 Georg 建议的那样找到一个可以从字符串中解码数字的类,但一个快速的解决方案也可以是使用 NSString 类的 stringByReplacing… 方法去除多余的千位分隔符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      相关资源
      最近更新 更多