0

我有这个代码:

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

当我尝试计算最终结果时3.1536e+07

我如何在31536000没有的情况下做出结果e+07

4

3 回答 3

2

如果指数小于 -4 或大于或等于精度,则and%g转换以or%G的样式打印参数;否则他们会使用这种风格。 你应该使用. %e%E%f
%f

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

你应该试试:

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

简单使用 %f。

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

second可能导致字符串没有“e+07 ”

f是因为我们正在使用浮点数

于 2012-05-27T05:26:57.887 回答