0

double 変数から UITextfield テキスト値を設定するときに科学表記法を防ぐにはどうすればよいですか? 「%f」でフォーマットしようとしましたが、-0 が -0.00000 と表示されます。「%g」でフォーマットすると、指数が表示されます。

4

2 に答える 2

3
%.0f

小数桁が 0 の float を意味します。

編集

まだある程度の精度が必要なようですので、NSNumberFormatterはるかに柔軟なインスタンスを使用する必要があります。

-setMinimumFractionDigits:andを使用できるため、-setMaximumFractionDigits:ゼロは になりますが0、それでも精度を維持できます。

NSNumberFormatter * fmt;

fmt = [ [ NSNumberFormatter new ] autorelease ];

[ fmt setMinimumFractionDigits: 0 ];
[ fmt setMaximumFractionDigits: 2 ];
[ fmt setMinimumIntegerDigits:  1 ];

NSLog( @"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: ( float )0 ] ] );
NSLog( @"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: ( float )0.42 ] ] );
于 2012-09-16T19:31:09.840 に答える
0

フォーマット文字列の小数点以下の桁数を制限できます。

%.0f

整数に丸めます。

%.1f

は小数点以下 1 桁に丸められ、-0はそれぞれ-0またはとして出力され-0.0ます。

于 2012-09-16T19:31:43.240 に答える