私の文字列が77777788888になると、フロートに変換した後、77777788928になります。しかし、正確な数値が必要です
私はすでに [str floatValue]、[str doubleValue] および [str longlongValue] で試しました
int は 32 ビット/4 バイトの値です。
なぜあなたがそれを得ているのか(今のところ)理解できないことに驚いています。
今のところ、以下を使用できます。これは機能します —</p>
NSString *string = @"77777788888";
NSLog(@"%lld", [string longLongValue]);
問題を理解したら、必ず返信を投稿します。
よろしく
To float
float myFloat = [myString floatValue];
To Double
double myDouble = [myString doubleValue];
NSLog(@"%.0f", [@"77777788888" floatValue]);
NSLog(@"%.0f", [@"77777788888" doubleValue]);
NSLog(@"%lld", [@"77777788888" longLongValue]);
出力を生成します
77777788928
77777788888
77777788888
したがって、良い結果が得られない場合は、他の何かが間違っています。
おそらく問題は、ダブルが範囲外になっていることです。この他の質問を確認してください