ulong を uint32 に変換するにはどうすればよいですか? 単純なキャストが機能していません。私にとってうまくいくのは、longを文字列に変換してから、文字列を再びintに解析することです。
しかし、これは本当に間違っているようです。もっと良い方法はありますか?
ulong を uint32 に変換するにはどうすればよいですか? 単純なキャストが機能していません。私にとってうまくいくのは、longを文字列に変換してから、文字列を再びintに解析することです。
しかし、これは本当に間違っているようです。もっと良い方法はありますか?
Paul Rが言ったように、「単純なキャスト」の意味がわかりません。次の両方がうまく機能しています(そして、ULONGLONGでテストしていることに注意してください)。
直接キャスト:
unsigned long long val1 = (unsigned long long)75;
UInt32 val2 = (UInt32)val1;
NSLog( @"%qu, %lu", num1, num2 );
// OUTPUTS: 75, 75
NSNumber の使用:
NSNumber* val1 = [NSNumber numberwithUnsignedLongLong:75];
NSNumber* val2 = [NSNumber numberwithUnsignedInteger:[val1 usignedIntegerValue]];
NSLog( @"%qu, %u", [num1 unsignedLongLongValue], [num2 unsignedIntegerValue]];
// OUTPUTS: 75, 75