如何将 NSInteger
转换为 NSString
数据类型?
我尝试了以下代码,其中 month 是一个 NSInteger
:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
如何将 NSInteger
转换为 NSString
数据类型?
我尝试了以下代码,其中 month 是一个 NSInteger
:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
NSIntegers不是对象,你需要将它们转换成long
,以便与当前的64位架构定义相匹配:
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
long
,以便与当前的64位体系结构定义相匹配:)Obj-C 的做法 =):
NSString *inStr = [@(month) stringValue];
NSInteger
具有stringValue
方法,即使在文字中也可以使用。
NSString *integerAsString1 = [@12 stringValue];
NSInteger number = 13;
NSString *integerAsString2 = [@(number) stringValue];
非常简单。不是吗?
var integerAsString = String(integer)
简单易行的方法:
NSInteger value = x;
NSString *string = [@(value) stringValue];
@(value)
将给定的NSInteger
转换为NSNumber
对象,从而可以调用所需的函数stringValue
。您也可以尝试:
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];
arm64
支持时,将不会生成警告:[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
答案已经给出,但是对于某些情况来说,从NSInteger获取字符串也是一种有趣的方式。
NSInteger value = 12;
NSString * string = [NSString stringWithFormat:@"%0.0f", (float)value];
在这种情况下,NSNumber可能适合您。
NSString *inStr = [NSString stringWithFormat:@"%d",
[NSNumber numberWithInteger:[month intValue]]];
Format specifies type 'int' but the argument has type 'NSInteger *'(aka 'int *')
。根据苹果文档,我改用NSString *inStr = [NSString stringWithFormat:@"%d", (int)month];
。 - Steven[@(integerValue) stringValue]
是一个更简洁的方法。 - Zorayr