Objective-C - ulint to uint32

时间:2012-05-12 08:09:56

标签: objective-c uint32 ulong

如何将ulong转换为uint32?一个简单的演员表不起作用。对我有用的是将long转换为字符串,然后再将字符串解析为int。

然而,这似乎是错误的。有没有更好的方法?

1 个答案:

答案 0 :(得分:2)

就像Paul R所说,不确定你的意思是“简单演员”。 以下两个对我来说都很好(并且,请注意,我正在使用ULONGLONG进行测试)。

  1. 直接演员:

    unsigned long long val1 = (unsigned long long)75;
    UInt32 val2 = (UInt32)val1;
    NSLog( @"%qu, %lu", num1, num2 );
    // OUTPUTS: 75, 75

  2. 使用NSNumber:

    NSNumber* val1 = [NSNumber numberwithUnsignedLongLong:75];
    NSNumber* val2 = [NSNumber numberwithUnsignedInteger:[val1 usignedIntegerValue]];
    NSLog( @"%qu, %u", [num1 unsignedLongLongValue], [num2 unsignedIntegerValue]];
    // OUTPUTS: 75, 75