簡體   English   中英

解析iOS上的64位無符號整數

[英]Parsing 64-bit unsigned integer on iOS

我在NSString中有非常大的無符號整數。 這可能很大到2 ^ 64。 是否有現有的函數/類解析這個?

據我所知,它是無符號的long long值,但是,我很難知道應該使用哪種方法來解析它。

也許不是最漂亮的答案,但你應該能夠做到這樣的事情:

#include <stdlib.h>
...
unsigned long long parsedValue = strtoull([yourString UTF8String], NULL, 0);

其他人可能有更可靠的方式來做這件事。

這是一個舊版本,但這里是斯蒂芬·佳能(正確)回答的一個稍微更可靠的變體:

#import <stdlib.h>

@implementation NSString (MyHelpers)
    - (unsigned long long)unsignedLongLongValue {
        return strtoull([self UTF8String], NULL, 0);
    }
@end

現在所有字符串都將響應unsignedLongLongValue選擇器。

這可能會有效,但它只能達到2 ^ 63 - 1

NSScanner *scanner = [NSScanner scannerWithString:numericString];
long long valueFromString;
if(![scanner scanLongLong:&valueFromString]) {
    //ERROR
}

NSScanner似乎沒有scanUnsignedLongLong方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM