對於下面的代碼:字符串格式符號
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