对于下面的代码:字符串格式符号
double j1;
j1=7000000 //example
ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %g", j1];
ItemE [5]如何防止科学记数法,并有"1.total inc = 7000000"
而不是返回为"1.total inc = 7e +06"
?
对于下面的代码:字符串格式符号
double j1;
j1=7000000 //example
ItemE[5]=[NSString stringWithFormat:@"@1. total inc = %g", j1];
ItemE [5]如何防止科学记数法,并有"1.total inc = 7000000"
而不是返回为"1.total inc = 7e +06"
?
使用%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
希望它有助于。
是的。 ty洞。 – 2012-08-11 19:44:12
而且,作为参考,“stringWithFormat:”的文档具有指向“字符串格式说明符”页面的链接。 – 2012-08-11 16:11:29
(https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/Formatspecifiers.html#//apple_ref/doc/uid/TP40004265-SW1)适合那些想要方便链接的人 – Vervious 2012-08-11 18:06:09
@Phillip米尔斯,那么我得到7000000.000000我不需要小数点后的数字。我是否需要转换为整数或有格式化的方式吗? – 2012-08-11 18:29:34