値は1つです100023
と私はNSString
に入れました。
ここで、長いパラメータータイプを含むWebサービスにこの値を渡して、文字列値を長い値に変換する方法を説明します。
NSString
メソッドintValue
longLongValue
を使用できます。
この「100023」のような小さな数値の場合、これは「longlongvalue」で許容されます。ただし、数値の桁数が10を超える場合、長い値の使用例と見なされます。次に、次のようなこの問題に遭遇します。
String value "86200054340607012013"
行う
@"86200054340607012013" integerValue or intValue
これはprintステートメントで生成されます
2147483647
もしあなたがそうするなら
@"86200054340607012013" longlongvalue
これはprintステートメントで生成されます
9223372036854775807
これは私にとってはうまくいき、予想される数を出力します。
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"2394739287439284734723"];
NSLog(@"longlong: %llu", [myNumber longLongValue]);
これを使って:
yourLong = [yourString longLongValue];
doubleValueメソッドを使用して、精度の警告が失われないようにすることができます
答えは:
float floatId = [strID floatValue];