c語言double小數
① c語言輸入一個double類型數據,要求將該數保留一位小數,第二位進行四捨五入,並將結果輸出
在C語言中輸入一個double類型數據,將該數保留一位小數,第二位進行四捨五入,並將結果輸出,這是很容易實現的,因為它自帶的格式輸出函數printf就可以輕松實現這一功能的:
double x;
scanf("%lf",&x);
printf("%.2f\n",x);
② c語言 double型數據的小數位數
W接收的是一個整型值。你輸出的時候按%f的話應該是5.000000000000000的阿。不會是5.0吧。我也挺納悶。你把程序全寫來看看。double
是15位。float
才是7位。
③ double在c語言中的意思是什麼
double是C語言的一個關鍵字,代表雙精度浮點型,佔8個位元組內存空間,其數值范圍為「1.7E-308~1.7E+308」,雙精度完全保證的有效數字是15位,16位只是部分數值有保證。
C語言中,float和double都屬於浮點數。區別在於:double所表示的范圍,整數部分范圍大於float,小數部分,精度也高於float。
舉個例子:圓周率3.1415926535 這個數字,如果用float來表示,最多隻能精確到小數點後面的6位。而double大約能精確到小數點後面的15位左右。具體精確到幾位,跟所用的編譯器有關,但是各個編輯器編譯器之間,也是相差不大的。
至於整數部分,float表示的整數部分的范圍,就已經夠大了,能表示到萬億級別,已經大到沒邊了。而double所表示的整數范圍,大到更沒邊了。實際開發中,除了個別高精領域,基本上,使用float就足夠了。
④ c語言 double類型保留小數問題的解決方法
double類型保留小數有兩種情況:
1 在輸出時保留兩位小數:
用printf通過格式字元即可控制小數的保留。
如
double a = 1.234;
printf(".2lf",a);
會輸出1.23
2 在運行過程中結果保留兩位小數。
可以藉助轉為整型,及乘除運算實現。
如
double a = 1.235;
a = ((int)(a*100+0.5))/100.0;
運算結果,a=1.24.
⑤ C語言中的double是最多多少位
雙精度實數,佔用位元組8。
有效數字15~16(因為二進制轉十進制問題)。
數值范圍-1.7*10負308次方~1.7*10的308次方。
當有效數字全部是整數時,即整數有15~16位。
C語言中,輸出double類型(雙精度實型)以及float類型(單精度實型)時,默認輸出6位小數(不足六位以 0 補齊,超過六位按四捨五入截斷)。double a = 1;printf("%lf ", a);輸出會是:1.000000
比如計算平均分,一到兩位小數就足夠了。可是有時六位又不夠,需要更多位小數,比如計算高精度平方根。這時可以用printf的格式控制。如果要輸出n位小數,那麼可以用%.nlf的格式。其中n為數字。
所在函數庫為【ctype.h】
int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0
int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數字('0'-'9')
返回非0值,否則返回0
intisascii(int ch) 若ch是字元(ASCII碼中的0-127)返回非0值,否則返回0
intiscntrl(int ch) 若ch是作廢字元(0x7F)或普通控制字元(0x00-0x1F)
以上內容參考:網路-C語言函數
⑥ C語言里,double類型的數據可以精確到小數點後幾位
C語言裡面,默認%f是小數點後6位,如果想小數點後面16位,寫成%.16lf
不會自動四捨五入的,double是一個近似值,通常沒有辦法做的很精確.
通常能精確到小數點後面5,6位,也就是說超過5,6位了可能就不準了。
⑦ C語言中double要輸出幾位小數
C語言中double默認輸出 6 位小數(不足六位以 0 補齊,超過六位按四捨五入截斷),可以根據自己的需要去修改輸出的位數,例如輸出兩位小數:(%2lf)。
double可以表示十進制的15或16位有效數字。
(7)c語言double小數擴展閱讀:
double負值取值范圍為 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范圍為 4.94065645841246544E-324 到 1.797693E+308。
浮點類型:
1,單精度浮點型:float
2,雙精度浮點型:double
3,復數浮點型:float_comlex,double_comple, long long_comple
浮點型數據:
1,loat型
編譯系統為每一個float型變數分配4個位元組,數值以規范化的二進制數指數形式存放在存儲單元中。
2,double型
為了擴大能表示的數值范圍,用8個位元組存儲一個double型數據,可以得到15位有效數字。
3,long double型
不同的編譯系統對long double型的處理方法不同,Visual C++6.0對long double型和double一樣處理,分配8個位元組。
參考資料來源:網路-雙精度浮點型
⑧ c語言double保留2位小數
double類型保留小數有兩種情況:1、在輸出時保留兩位小數:
用printf通過格式字元即可控制小數的保留。
2、在運行過程中結果保留兩位小數。
可以藉助轉為整型,及乘除運算實現。
(8)c語言double小數擴展閱讀
1、浮點型與整型
將浮點數(單雙精度)轉換為整數時,將舍棄浮點數的`小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:賦值時的類型轉換實際上是強制的。
2、單、雙精度浮點型
由於C語言中的浮點值總是用雙精度表示的,所以float 型數據只是在尾部加0延長為double型數據參加運算,然後直接賦值。double型數據轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。
⑨ C語言中double要輸出幾位小數
1.
C語言中double默認輸出
6
位小數。
2.
如果要控制輸出小數位數,可以格式化輸出。
printf("%.3lf
",
d);
//
"%.3lf"
.3
則是輸出
3
位小數
printf("%.4lf
",
d);
//
"%.4lf"
.4
則是輸出
4
位小數
⑩ c語言中關於double
保留2位小數輸出一個浮點數,如3.14159按%.2f輸出就是3.14。