【问题标题】:How to convert long to NSString in Objective-C? [duplicate]如何在 Objective-C 中将 long 转换为 NSString? [复制]
【发布时间】:2020-10-27 15:10:41
【问题描述】:

我尝试将long (value: 454555) 转换为NSString。但是每次我尝试过,我都会得到像@"-5026338884877204098" 这样的垃圾值。 怎么转换成454555一样的?

【问题讨论】:

标签: objective-c nsstring


【解决方案1】:

你可以通过

初始化一个NSString
NSString *a =  @(454555).stringValue;

这里你可以把所有数学类型的值放在括号里,比如

NSString *a =  @(0.1).stringValue;//a float value
NSString *a =  @(9223372036854775807).stringValue;//it's a longlong value

【讨论】:

    【解决方案2】:

    试试

            long l = 454555;
            NSString * s = [NSString stringWithFormat:@"%ld", l];
    

    请注意,这与语言环境无关……但很方便,听起来就像您正在寻找工作的人。这里的 %ld 表示参数中的下一个值是 l=long d=decimal/int(即 long)。

    编辑

    如果你喜欢@-方式,只需执行下面的代码。

    int main(int argc, const char * argv[]) {
        @autoreleasepool
        {
            NSLog(@"Hello, World!");
            for ( long i = 0; i < 1000000; i ++ )
            {
                // Direct ...
                NSString * s = [NSString stringWithFormat:@"%ld", i ];
            }
            NSLog(@"1");
            for ( long i = 0; i < 1000000; i ++ )
            {
                // Indirect via NSNumber ...
                NSString * s = @(i).stringValue;
            }
            NSLog(@"2");
        }
    
        return 0;
    }
    
    

    【讨论】:

      猜你喜欢
      • 2018-04-27
      • 2018-04-06
      • 2011-09-19
      • 2014-10-25
      • 2019-12-17
      • 2011-09-18
      • 2020-10-26
      • 2016-12-17
      • 2010-12-22
      相关资源
      最近更新 更多