Iphone 字符串格式表示法

Iphone 字符串格式表示法,iphone,objective-c,xcode,Iphone,Objective C,Xcode,有关以下代码: double j1; j1=7000000 //example ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %g", j1]; ItemE[5]返回为“1.total inc=7e+06” 我如何防止使用科学记数法,并让改为“1.total inc=7000000”?使用%f: ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %f", j1];

有关以下代码:

double j1;

j1=7000000    //example
ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %g", j1];
ItemE[5]返回为
“1.total inc=7e+06”

我如何防止使用科学记数法,并让
改为“1.total inc=7000000”

使用
%f

ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %f", j1];
编辑:

如果不需要小数点,则应使用:

ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %.f", j1];
为了详细说明,您在格式字符串中使用了错误的说明符。
%g
指示在科学记数法中创建浮点变量的字符串表示形式。通常,您应该使用
%f
来表示
double
float
变量。默认情况下,此说明符将生成带6位小数的数字。若要更改,可以修改该说明符,例如:

%5.3f
表示字符串应有3位小数,长度应为5个字符。这意味着,若表示长度小于5个字符,那个么字符串的数字前面会有额外的空格,总共是5个字符。请注意,如果您将有一个大的数字,它将不会被截断。考虑代码:

double pi = 3.14159265358979323846264338327950288;
NSLog(@"%f", pi);
NSLog(@"%.3f", pi);
NSLog(@"%8.3f", pi);
NSLog(@"%8f", pi);
NSLog(@"%.f", pi);
将给出以下结果:

3.141593
3.142
   3.142
3.141593
3
使用
%f

ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %f", j1];
编辑:

如果不需要小数点,则应使用:

ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %.f", j1];
为了详细说明,您在格式字符串中使用了错误的说明符。
%g
指示在科学记数法中创建浮点变量的字符串表示形式。通常,您应该使用
%f
来表示
double
float
变量。默认情况下,此说明符将生成带6位小数的数字。若要更改,可以修改该说明符,例如:

%5.3f
表示字符串应有3位小数,长度应为5个字符。这意味着,若表示长度小于5个字符,那个么字符串的数字前面会有额外的空格,总共是5个字符。请注意,如果您将有一个大的数字,它将不会被截断。考虑代码:

double pi = 3.14159265358979323846264338327950288;
NSLog(@"%f", pi);
NSLog(@"%.3f", pi);
NSLog(@"%8.3f", pi);
NSLog(@"%8f", pi);
NSLog(@"%.f", pi);
将给出以下结果:

3.141593
3.142
   3.142
3.141593
3

请尝试使用此选项:

double j1 = 7000000.f;
NSLog(@"1. total inc = %.f", j1);
结果将是:

1. total inc = 7000000

我希望它有帮助。

请尝试使用这个:

double j1 = 7000000.f;
NSLog(@"1. total inc = %.f", j1);
结果将是:

1. total inc = 7000000

我希望它能有所帮助。

以及
stringWithFormat:
的文档都有一个指向“字符串格式说明符”页面的链接。()供那些想要方便阅读的人参考link@Phillip好吧,那么我得到7000000.000000我不需要小数点后的数字。我需要转换成整数吗?或者这里有格式吗?找到@Vervious给你的链接,然后点击上面的链接,“有关更多详细信息,请参阅IEEE printf规范。”@Johnnywho,是的,我在进一步挖掘后得到了相同的:)。并且,作为参考,
stringWithFormat:
的文档有一个指向“字符串格式说明符”页面的链接。()供那些想要方便使用的用户使用link@Phillip好吧,那么我得到7000000.000000我不需要小数点后的数字。我需要转换成整数吗?或者这里有格式吗?找到@Vervious给你的链接,然后点击上面的链接,“有关更多详细信息,请参阅IEEE printf规范。”@Johnnywho,是的,我在进一步挖掘后得到了相同的:)。泰。