如何将 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