如何将ulong转换为uint32?一个简单的演员表不起作用。对我有用的是将long转换为字符串,然后再将字符串解析为int。
然而,这似乎是错误的。有没有更好的方法?
答案 0 :(得分:2)
就像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