0

私はこのコードを持っています:

double s = [year.text doubleValue]*31536000;
second.text=[[NSString alloc] initWithFormat:@"%2g", s]; 

最終結果を計算しようとすると、3.1536e+07

31536000せずに結果を出すにはどうすればよいe+07ですか?

4

3 に答える 3

2

%gand%G変換は、指数が-4未満、または精度以上の場合、または(それぞれ)のスタイルで引数を出力します%e%Eそれ以外の場合は、%fスタイルを使用します。
を使用する必要があります%f

double s = [year.text doubleValue]*31536000;
second.text=[[NSString alloc] initWithFormat:@"%f", s];
于 2012-05-27T05:31:19.557 に答える
0

単純な使用%f。

NSString *str = [[NSString alloc] initWithFormat:@"%f", s];
second.text = str;

second「e+07」のない文字列になる可能性があります

これは、浮動小数点数fを使用して作業しているためです。

于 2012-05-27T05:26:57.887 に答える
0

試してみてください:

double s = [year.text doubleValue]*31536000;
second.text=[[NSString alloc] initWithFormat:@"%lf", s]; 
于 2012-05-27T05:38:28.200 に答える