2 c c 中的保留小數問題

2021-10-23 17:03:16 字數 1065 閱讀 4741

一,(不強制型別轉換時)是否可以輸出非零小數問題

①結果變數定義為int型,此時無論參與運算的變數是什麼型都不能輸出非零小數。

②結果為double型,參與運算的變數為int型,此時也是只能輸出0。

③都為double型,但實際參與運算值是整數,此時可以輸出非零小數。

④參與運算的不是變數名,而是直接數字的運算。例如:

#include

intmain()

結果是1.00,因為3/2兩個都是整數,編譯器會以為是整數的運算直接將結果的小數部分去掉,

所以應該至少讓3或2中的乙個變為小數,可以是3.0,3.00,2.0,2.00,只要有小數點就行。

二,強制型別轉換

只能由高精度轉換為底精度,例如

cout<<

setiosflags

(ios::fixed)

<<

setprecision(3

);double a=

6.65

,b=5.67

,c,d;

c=a/

2; d=b/3;

cout<<

(int

)c

(int

)d

三,關於精度轉換問題(c++中一般不會出現這種問題)

自然情況,只能由底精度向高精度轉化,不能由高精度向底精度轉化。

例如:

//c語言版

float a=

3,b=

6.2,c,d;

//變數全部用float型

c=a/

2; d=b/2;

printf

("%d %d"

,c,d)

;//第乙個結果

printf

("%.2f %.2f"

,c,d)

;//第二個結果

此時,

第乙個結果不合法,不能由高精度轉向底精度。

第二個結果正確。可以輸出非零小數。

C 14系列(2) C C 的時間函式

為了好好研究下c 14,順便複習下以前的c 知識。搞了個git 不斷完善中 裡面會慢慢封裝一些常用的函式,並做一些測試驗證,工程是建立在ubuntu的eclipse之上,見系列 1 環境搭建。參考 時間函式常用到的幾個概念 calendar time 日曆時間 epoch 時間點 clock tic...

js保留2位小數的例項參考

例1,js保留兩位小數 對於一些小數點後有多位的浮點數,可能只需要保留2位,但js沒有提供這樣直接的函式,所以寫了乙個小函式。function changetwodecimal x var f x math.round x 100 100 return f x 功能 將浮點數四捨五入,取小數點後2位...

小數點後幾位的保留問題

1 2 顯示數量的地方將數字格式化,判斷如果小數點後為0,3 則不顯示小數點以及後面的00,如果有一位,顯示一位 4 小數,如 134.5 如果兩位,顯示兩位小數,如 123.45 5 如果超過兩位,四捨五入到兩位 6 7 8 9public static string formatequantit...