2

私はそのような問題を抱えています:double calcValue;

NSString *buf = [NSString stringWithFormat:@"%14f", myCalculator.calcValue];

buf = "7.142857";

の代わりに

buf = "7.1428571428571423";

@ "%f"のような方法でフォーマットしようとしました。しかし、@ "%14.9f"を試したところ、カンマが表示された後、9つの記号が表示されました。

どうしたの?そして、どうすればそれを解決できますか?ありがとう!

4

2 に答える 2

3

私が誤解しない限り、正しい形式はです@"%.14f

あなたがしたことは@"%14f"、小数点の前に最大14桁が必要だと言っていますが、後の桁は指定していません。

于 2010-11-08T18:31:45.933 に答える
1

理由はわかりませんが、stringWithFormat:doubleを正しくフォーマットしていないようです。このアプローチを試すことができます:

double calcValue=7.1428571428571423;
NSString *buf=[[NSNumber numberWithDouble:calcValue] stringValue];

に設定さbuf@"7.142857142857142"ます。

桁数をより厳密に制御するには、を使用できますNSNumberFormatter

于 2010-11-08T10:47:40.560 に答える