【问题标题】:Get a long value from an NSString从 NSString 获取长值
【发布时间】:2011-04-22 02:25:01
【问题描述】:

我需要从NSString 中获取long 值。

例如,我有这个:

NSString *test = @"5437128";

我需要:

long myLong = 5437128;   

我怎样才能从NSString 获得这个long 值?

谢谢你,它会帮助我的!

【问题讨论】:

    标签: objective-c ios nsstring long-integer


    【解决方案1】:
    long longVariable = [test longLongValue];  
    

    参见NSString 文档..

    【讨论】:

    • 注意long不能用作标识符。
    • @Bavarious 是的...没注意到..刚刚使用了有问题的代码段..现在将编辑..感谢您的注意..
    【解决方案2】:

    像下面的代码一样使用 NSScanner:

      unsigned x;
    
    [[NSScanner scannerWithString: s2] scanHexInt: &x];
    

    当键入 scanHexInt 时,在 scan 处停止,看看自己需要哪一个 - 有很多可能性可以从字符串中获取值....

    您可能希望使用 scanlonglong... 已将变量声明为 long

    【讨论】:

      【解决方案3】:

      使用此代码:

      NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
      long number = [[numberFormatter numberFromString:string] longValue];
      [numberFormatter release];
      

      【讨论】:

        【解决方案4】:

        如果您不想丢失数字的分数值,我会使用以下内容

        double x =[stringValue doubleValue];
        

        而不是

         double x = [stringValue  longLongValue];
        

        如果我们假设我们有以下字符串值 我们想把它转换成双倍,我们有两种方法

        NSString * stringValue = @"31.211529225111";
        way #1 
            double x = [stringValue  longLongValue];
        result will be  :  x = 31
        
        way #2 
            double x =[stringValue doubleValue];
        result will be  :  x = 31.211529225111001
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          • 1970-01-01
          • 2012-02-02
          • 1970-01-01
          • 1970-01-01
          • 2023-03-10
          相关资源
          最近更新 更多