c語言double型別保留小數問題

時間 2022-02-01 19:05:45

1樓:匿名使用者

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.

2樓:滄海雄風

11.1

1.12

1.123

1.1235

1.12346

1.123457

1.1234568

1.12345679

1.123456789

1.1234567891

1.12345678912

1.123456789123

1.1234567891235

1.12345678912346

1.123456789123457

1.1234567891234568

press any key to continue#include

main()

c語言中,float型和double型變數如果不指定寬度,應分別保留小數點後幾位?????

3樓:匿名使用者

double與float的區別在於在記憶體中存放資料時佔用的記憶體不一樣,前者8位元組,後者4位元組,也就是前者儲存的小數位數比後者多一倍。

舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.

999999。因為c語言預設輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.

9999990000,而double輸出結果則為1.9999996666

c語言編寫程式,對一個double型資料進行四捨五入,要求保留兩位有效小數,求演算法。

4樓:跪著作揖

例如double型的資料為a=5.1413,程式如下:

#incloud

main( )

這時候printf輸出的

專結果將是5.14。

擴充套件資料屬

c語言編寫程式,對double型資料進行四捨五入,保留三位有效數字,程式如下:

這裡以b=8.8888

#incloud

main( )

這時候printf輸出的結果將是8.889。

5樓:

推薦的方法:首先將該數存入double型別的變數中,然後將該變數乘以100(小數點後移

回2位),加上0.5,再強制取整,最

答後除以100.0(小數點前移2位)即得到了結果。

表示式如下(double變數為i):i = (int)(i*100+0.5)/100.0

使用printf輸出時,如果要保留兩位小數輸出,請使用%.2f或%.2lf佔位符

c語言裡,double型別的資料可以精確到小數點後幾位?

6樓:匿名使用者

"%lf"預設只顯示6位小數,如果想顯示更多請指定:例如"%0.16lf"

精度位不夠自動四捨五入,沒辦法去掉。只有增加精度顯示

7樓:匿名使用者

十進位制的15或16位有效數字,因此精確到小數點後最多有15或16位。

8樓:匿名使用者

這個我記得跟系統的位數有關吧,還有你是以lf 的格式列印出來的,這2個一樣嗎?

c語言控制double型輸出小數點保留尾數的疑惑,求大大神們進來看下,急用

9樓:_奧丁信使

double res=(int)n;

printf("%.nlf",res);

強制轉換型別,會有警告,但一般不用理會

望採納。

10樓:

#include

void main()

輸出結果為:1123.12

c語言輸入一個double型別資料,要求將該數保留一位小數,第二位進行四捨五入,並將結果輸出。

11樓:始秀榮婁卯

推薦的方法bai:首先將該數存入double型別du的變數中,然後將該zhi變dao量乘以100(小數點後移2位),加上回0.5,再強制取整答,最後除以100.

0(小數點前移2位)即得到了結果。

表示式如下(double變數為i):i

=(int)(i*100+0.5)/100.0使用printf輸出時,如果要保留兩位小數輸出,請使用%.2f或%.2lf佔位符

c語言中怎麼保留小數2位,C語言中如何保留一位小數點

浦雁真棋 這是由printf 這個函式的輸出格式決定的,後面的表示格式,f表示以小數形式輸出單 雙精度數,在沒有規定位數時預設為輸出6為小數,若規定了位數,則例如 m.nf則表示輸出一共為m位,其中小數佔n位,而你這個 並沒有規定小數點後有多少位,故輸出6位 卻竹青迮鵑 把printf 2f n d...

c語言,double型別的變數使用scanf 函式賦值後再

c語言中double輸入輸出,都用 lf 進行格式化,是否寫成了 f,這個是float型別。include int main 2.字元定義如下 字元 對應資料型別 含義 d i int 接受整數值並將它表示為有符號的十進位制整數,i是老式寫法 o unsigned int 無符號8進位制整數 不輸出...

c如何將float型別數值保留兩位小數

我叫啥 程式例程如下 double x 6.50000000000 float y float.parse x.tostring console.writeline y.tostring f2 以上程式將x值賦給y,y保留兩位小數。 果建翼 你要知道,float是浮點數,無法精確表示一個數值。所以你...