将int转换为NSString

use*_*187 30 iphone int nsstring

我想转换一个随机的int数字NSString然后将NSString分配给另一个,NSString但它崩溃了应用程序

我正在做以下事情

int mynumber =(arc4random() % 1000 );

unique = [NSString stringWithFormat:@"%d",mynumber];

   NSLog(unique)

   NSString*test=unique;
Run Code Online (Sandbox Code Playgroud)

当我写最后一行时它会崩溃;

它还会在我输入unique字符串时打印值.

Ten*_*kar 96

如果要将int更改为string

NSString *strFromInt = [NSString stringWithFormat:@"%d",yourintvalue];
Run Code Online (Sandbox Code Playgroud)


d4n*_*4n3 53

这也有效:

NSString *str = [@(number) stringValue];
Run Code Online (Sandbox Code Playgroud)

或者,如果您更喜欢点符号:

NSString *str = @(number).stringValue;
Run Code Online (Sandbox Code Playgroud)

这将NSNumber使用表达式装箱语法将原始值装入a @(...),然后使用其' stringValue方法将其转换为NSString.这也应该适用于其他基本值(NSInteger,float,double,long,...).

  • 它可能更加现代:`@(number).stringValue` (3认同)
  • 这里的优点是,这适用于任何基本类型,您不需要显式设置format参数.此外,我发现这更简洁,更容易理解,但这是一个品味问题.这是通过XCode 4.4中引入的表达式装箱语法实现的 (2认同)