0

私の文字列が77777788888になると、フロートに変換した後、77777788928になります。しかし、正確な数値が必要です

私はすでに [str floatValue]、[str doubleValue] および [str longlongValue] で試しました

4

4 に答える 4

0

int は 32 ビット/4 バイトの値です。

なぜあなたがそれを得ているのか(今のところ)理解できないことに驚いています。

今のところ、以下を使用できます。これは機能します —</p>

NSString *string = @"77777788888";
NSLog(@"%lld", [string longLongValue]);

問題を理解したら、必ず返信を投稿します。

よろしく

于 2012-11-07T08:49:36.000 に答える
0

To float

float myFloat = [myString floatValue];

To Double

double myDouble = [myString doubleValue];
于 2012-11-07T08:31:10.663 に答える
0
NSLog(@"%.0f", [@"77777788888" floatValue]);
NSLog(@"%.0f", [@"77777788888" doubleValue]);
NSLog(@"%lld", [@"77777788888" longLongValue]);

出力を生成します

77777788928
77777788888
77777788888

したがって、良い結果が得られない場合は、他の何かが間違っています。

于 2012-11-07T08:45:30.847 に答える
0

おそらく問題は、ダブルが範囲外になっていることです。この他の質問を確認してください

于 2012-11-07T08:47:41.330 に答える