c語言如何判斷小數的小數點後有幾位

2021-08-04 10:35:22 字數 3573 閱讀 1242

1樓:林剛祝

這是c語言中的“右移運算子”。一般情況下,他是按位操作。

特點:1.雙目運算子,就像+、-、*、/一樣,格式為(數1)>>(數2)

2.數1是被運算元,如被減數、被除數等;數2是右移位數。

3.優先順序低,結合性:從左向右運算

如:8>>1=?表示將被移數向右移動1位

如何操作?

1.化十進位制數為(注意了)對應的二進位制數,對應指格式對應2.通通右移,不足補0

3.化為十進位制數

舉例:short int a=8;a=a>>1;

1.a=0 000 1000

2.右移一位後:a= 0 000 100

3.補0:a=0 000 0100

4.化為十進位制數:a=4

舉例:int a=8;a=a>>1;

1.a=0 000 0000 0000 10002.右移一位後:

a= 0 000 0000 0000 1003.補0:a=0 000 0000 0000 01004.

化為十進位制數:a=4

2樓:匿名使用者

如果按%s輸入,也就是按字串格式輸入,先找到小數點的位置,然後統計下小數點後數字的長度。可以一試。

3樓:風若遠去何人留

除非是從輸入的時候就存成字串, 然後判斷小數點後的位數。

一旦存成浮點型變數,不管是double還是float都是近似值,

這時就無法準確判斷有幾位了。

c語言如何判斷一個小數的小數點後有幾位

4樓:匿名使用者

利用整數的截斷效果,將資料小數部分單取出來,乘以10後取整,與原數比較,若不等,則判斷大於小數點後1位,依此計算直到相等為止。

在取整時進行小數點後1位四捨五入可部分防止二進位制浮點數與真實資料間的舍入誤差問題。

c語言中怎麼判斷一個數是否含有小數點?!

5樓:匿名使用者

如果是數值的話bai,那麼將原

du始的數值減zhi去取整後的數值如果dao大於0就表示有小數 if ((n - (int)n) > 0) return = true; 如果是專字串的話,有兩種方屬法,一種是將字串轉換為數值後用上面說的方法判斷,另一種是逐字判斷是否包含字元小數點“.”

6樓:呃

情況一:如果

n減去它的整數部分不等於0,那麼n有小數

。如果等於零說明n是整數。回

if(n=int(n)!=0)

return turn;

else

return false;

此種方法有弊端答如1.00有小數點但用上述方法會有錯誤,所以上述方法準確來說是用來判斷是否有小數的。

情況二:假設你要判斷一個數為n,可先把n轉換為字串型別char,再遍歷每個字元是否有小數點。

int n;

char(s)=n;

int cheak(char*s)

return 0;}

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

7樓:匿名使用者

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

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

8樓:匿名使用者

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

9樓:匿名使用者

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

c語言中如何保留一位小數點

10樓:雙魚貝貝

採納率:52%12級2015.05.17

可以通過printf函式中的輸出格式說明符來實現保留一位小數點。回

具體實現方法見答下例:

float a = 3.14159;

printf("%.1f", a);  // 輸出結果為3.1

更一般的形式如下:

printf("%x.yf", a); // 其中x, y都是常量,a是待輸出的變數。

// 對於變數a的整數部分輸出,如果a的整數部分不足x位,則在前面補空格,若大於x位,則按實際位數輸出

// 對於變數a的小數部分輸出,如果a的小數部分不足x位,則在後面補0,若大於x位,則按四捨五入準則輸出y位小數

一鍵還原類軟體的備份檔案。使用ghost explorer軟體開啟,可以檢視該檔案的內容。此檔案不可刪除!刪除了以後就無法恢復系統了。

11樓:a羅網天下

可以通過printf函式中的復輸出制

格式說明符來實現保留一位小數點,要保留一位小數就用printf("%.1f",x),例子如程式中給出那樣。

例子如下:

直接編譯,程式輸出結果如下圖所示:

12樓:匿名使用者

可以通過printf函式bai中的輸出格式說明du符來實現保留zhi一位小dao

數點,要保留一位小數就用

回printf("%.1f",x),例子如程式中給答出那樣。直接編譯,程式輸出結果如下圖所示:

擴充套件資料:1.printf("%3.

0f",floatnum):不保留小數說明:%3.

0f表明待列印的浮點數(floatnum)至少佔3個字元寬,且不帶小數點和小數部分,整數部分至少佔3個位寬;注意:這裡的3只代表整數部分至少佔3位,捨棄小數點和小數點後面的部分。2.

printf("%6.2f".floatnum):

保留兩位小數說明:%6.2f 表明待列印的數(floatnum)至少佔6個字元寬度(包括兩位小數和一個小數點),且小數點後面有2位小數,小數點佔一位,所以整數部分至少佔3位。

注意:這裡的6是待列印的數至少佔據的字元寬度,包括兩位小數(如果小數不夠兩位用0補位,例如100.1列印出來為100.

10)和一個小數點,所以整數部分至少佔3個字元寬度。

13樓:四甫

給小學生講c++求平均數及保留小數點&&賦值運算

14樓:天雲一號

可以通過printf函式中抄的輸出格式bai說明符來實現保留一位小數du點。

具體實現方法見zhi下dao例:

float a = 3.14159;

printf("%.1f", a);  // 輸出結果為3.1

更一般的形式如下:

printf("%x.yf", a); // 其中x, y都是常量,a是待輸出的變數。

// 對於變數a的整數部分輸出,如果a的整數部分不足x位,則在前面補空格,若大於x位,則按實際位數輸出

// 對於變數a的小數部分輸出,如果a的小數部分不足x位,則在後面補0,若大於x位,則按四捨五入準則輸出y位小數

15樓:匿名使用者

printf("%.1f",x)

16樓:匿名使用者

printf("%.1f",x);

好像是這樣

小數點的來歷,關於小數點的來歷

南宋,數學家秦九韶 公元1202 1261年 在1247年 淳佑七年 著成 數書九章 十八卷 全書共81道題,分為九大類 大衍類 天時類 田域類 測望類 賦役類 錢穀類 營建類 軍旅類 市易類。這是一部劃時代的巨著,它總結了前人在開方中所使用的列籌方法,將其整齊而有系統地應用到高次方程的有理或無理根...

如何去掉小數點後多餘的,如何去掉小數點後多餘的

將你baigeta 返回的值作為參du數,呼叫下面zhi的方法,返回dao的string就是你想版要的結 權果public string removetailzero bigdecimal b 滿 意回bai答回把整數後du面zhi的0也去掉了,可dao以換下 回面的方法 答public strin...

c語言f前面的數字為什麼要帶小數點

你定義的float是浮點小數的意思,電腦不能自己分辨是小數還是整數,需要說明。嚴重鄙視你的基礎知識。c語言裡 f中間加數字是什麼意思 f是用於格式化輸入輸出函式,對應型別為float的格式字元。加數字的情況僅適用於輸出函式,比如printf。其形式為 printf a.bf var 其中a,b為常數...