NSString 到 UInt64
NSString to UInt64
如何从 NSString
转换为 UInt64
?
例如,如果存在 UInt64Value
辅助方法,则如下所示:
NSString *value = @"1234567";
UInt64 convertedValue = [value UInt64Value];
我正尝试在 iOS 项目中执行此操作。
NSString * num = @"123456";
NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
NSNumber * number = [numberFormatter numberFromString:num];
unsigned long long valueUInt64 = number.unsignedLongLongValue;
你可以用 longLongValue
得到一个 UInt64
NSString *str = @"23147653105732";
UInt64 uint64 = [str longLongValue];
另一种获得 int64
的方法是:
NSString *str = @"23147653105732";
int64_t int64_t = atoll([str UTF8String]);
为了完整性提出另一种可能性:
NSScanner *scanner = [NSScanner scannerWithString:value];
unsigned long long convertedValue = 0;
[scanner scanUnsignedLongLong:&convertedValue];
return convertedValue;
...如果您想区分查找值 0 和查找非数字的值,请检查 scanUnsignedLongLong
上的结果。
您可以按如下方式使用strtoull(const char *, char **, int)
:
NSString *value = @"1234567";
UInt64 convertedValue = strtoull([value UTF8String], NULL, 0);
如何从 NSString
转换为 UInt64
?
例如,如果存在 UInt64Value
辅助方法,则如下所示:
NSString *value = @"1234567";
UInt64 convertedValue = [value UInt64Value];
我正尝试在 iOS 项目中执行此操作。
NSString * num = @"123456";
NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
NSNumber * number = [numberFormatter numberFromString:num];
unsigned long long valueUInt64 = number.unsignedLongLongValue;
你可以用 longLongValue
UInt64
NSString *str = @"23147653105732";
UInt64 uint64 = [str longLongValue];
另一种获得 int64
的方法是:
NSString *str = @"23147653105732";
int64_t int64_t = atoll([str UTF8String]);
为了完整性提出另一种可能性:
NSScanner *scanner = [NSScanner scannerWithString:value];
unsigned long long convertedValue = 0;
[scanner scanUnsignedLongLong:&convertedValue];
return convertedValue;
...如果您想区分查找值 0 和查找非数字的值,请检查 scanUnsignedLongLong
上的结果。
您可以按如下方式使用strtoull(const char *, char **, int)
:
NSString *value = @"1234567";
UInt64 convertedValue = strtoull([value UTF8String], NULL, 0);