NSString到UInt64

Ale*_*dru 2 objective-c nsstring uint64 ios

你怎么转换NSStringUInt64

例如,如果UInt64Value存在辅助方法,则类似这样的事情:

NSString *value = @"1234567";
UInt64 convertedValue = [value UInt64Value];
Run Code Online (Sandbox Code Playgroud)

我想在iOS项目中这样做.

Tom*_*mmy 6

为完整性提供另一种可能性:

NSScanner *scanner = [NSScanner scannerWithString:value];
unsigned long long convertedValue = 0;
[scanner scanUnsignedLongLong:&convertedValue];
return convertedValue;
Run Code Online (Sandbox Code Playgroud)

... scanUnsignedLongLong如果要区分查找值0和查找不是数字​​的内容,请检查结果.


Muh*_*san 5

NSString * num = @"123456";

NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
NSNumber *  number = [numberFormatter numberFromString:num];
unsigned long long valueUInt64 = number.unsignedLongLongValue;
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,这个答案是不正确的,请尝试使用`@"18446744073709551615"`(这是最大的`unsigned long long`值).目前还不清楚这是否是"NSNumberFormatter"的错误或特征.@Tommy的答案在这种情况下正常工作. (2认同)