1

私はNSStringを持っています、@"48.23456789"floatValueメソッドは私に"48.234568"を与えます

より正確にする方法はありますか?

お時間をいただきありがとうございます!

4

3 に答える 3

6

doubleValue代わりにを使用floatValueして、2倍の精度を取得してみてください。

于 2012-11-20T18:20:31.837 に答える
4

を使用しますdoubleValue。さらに良いことに、使用してNSScannerください:

NSScanner *scn = [NSScanner scannerWithString:@"3.14159265358979323846"];
double applePie;
[scn scanDouble:&applePie];
于 2012-11-20T18:20:38.743 に答える
0

実際、私の問題は、フロート(またはダブル)を印刷する方法に起因していました。

NSLogを使用して正確なfloat/doubleを印刷します。これを使って :

NSLog(@"float : %.8f", myFloat);

.8は、コマ後の桁数を決定します。

于 2012-12-21T11:52:49.387 に答える