NSInteger
をNSString
データ型に変換するにはどうすればよいですか?
私は次のことを試しました。ここで、月はNSInteger
です:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
NSIntegerはオブジェクトではありません。現在の64ビットアーキテクチャの定義に一致させるために、それらをlong
にキャストします。
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
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
オブジェクトに変換します。
arm64
をサポートしてコンパイルする場合、これは警告を生成しません。
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
また試すことができます:
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];
この場合、NSNumberが役立ちます。
NSString *inStr = [NSString stringWithFormat:@"%d",
[NSNumber numberWithInteger:[month intValue]]];
答えは与えられますが、状況によってはNSIntegerから文字列を取得する興味深い方法になると思います
NSInteger value = 12;
NSString * string = [NSString stringWithFormat:@"%0.0f", (float)value];