どのようにNSString
からUInt64
に変換しますか?例えばNSString to UInt64
、UInt64Value
ヘルパーメソッドであれば、このようなものは存在していた:
NSString *value = @"1234567";
UInt64 convertedValue = [value UInt64Value];
私は、iOSプロジェクトでこれを行うにしようとしています。
どのようにNSString
からUInt64
に変換しますか?例えばNSString to UInt64
、UInt64Value
ヘルパーメソッドであれば、このようなものは存在していた:
NSString *value = @"1234567";
UInt64 convertedValue = [value UInt64Value];
私は、iOSプロジェクトでこれを行うにしようとしています。
完全性について別の可能性ピッチに:
NSScanner *scanner = [NSScanner scannerWithString:value];
unsigned long long convertedValue = 0;
[scanner scanUnsignedLongLong:&convertedValue];
return convertedValue;
を
... 0の値を見つけることと番号でないものを見つけることを区別したい場合は、scanUnsignedLongLong
の結果を確認してください。
strtoull(const char *, char **, int)
を使用することができます
NSString * num = @"123456";
NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
NSNumber * number = [numberFormatter numberFromString:num];
unsigned long long valueUInt64 = number.unsignedLongLongValue;
あなたはint64
を取得するための別の方法があるlongLongValue
NSString *str = @"23147653105732";
UInt64 uint64 = [str longLongValue];
でUInt64
を取得することができます。
NSString *str = @"23147653105732";
int64_t int64_t = atoll([str UTF8String]);
'longLongValue'は' UInt64'ではなく 'Int64'を読み込みます。 – Tommy
:
NSString *value = @"1234567";
UInt64 convertedValue = strtoull([value UTF8String], NULL, 0);
なぜあなたは[のstringValue longLongValue]の上にこれを使用します。 ? – Alexandru
あなたはunsigned long longを要求しているので、 –
私はこのデータ型に慣れていません。私はそのようなことに遭遇したことがないので、本当に奇妙に聞こえる。 64ビット値のスペースは最大でUInt64を許容しますので、長いものは何ですか? – Alexandru