1

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

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

4

1 回答 1

3

就像 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

于 2012-06-04T16:06:59.043 回答