C語言中printf函式怎麼才能自動去掉小數點後的零

2021-03-22 08:33:04 字數 3801 閱讀 8839

1樓:匿名使用者

直接用"%g"就行了!

2樓:匿名使用者

這樣寫試試,好久沒寫c了,忘得差不多了。嘿嘿

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

c語言程式設計中怎麼自動去掉浮點數小數點後沒用的0。

3樓:會飛的小兔子

#include

int main()

擴充套件資料

c語言浮點數

浮點數的值等於尾數乘以 2^x。讀者應該注意,上圖是二進位制分數,因此 0.1表示 1/2。

為了方便理解,我們可以將其與十進位制的小數對應起來:十進位制的 0.1 等於 1*10^-1,所以二進位制的 0.

1 等於1*2^-1,也即 1/2。

「尾數+指數」模式儲存浮點數可能有一點問題,例如:2x10^-1=0.2x10^0=0.

02x10^1,依此類推。同樣一個數字可能有多種「尾數+指數」的表示方法,而同時兼顧多種表示方法勢必會造成巨大的浪費。

4樓:匿名使用者

可以通過%.xf或者%.xlf來限制,其中x是一個整數;

如果保留一位小數x 為1,兩位為2;

以此類推;

注意%.xf的x的值不能大於7,由於float型別的精確度只有小數點後7位;

%.xlf的x的值不能大於15,double型別的精確度只有小數點後15為;

通過限制小數點的位數,去掉多餘的0;。

c語言,將double資料輸出時,如何去掉小數位多餘的0?

5樓:匿名使用者

printf("%g\n", a ); //這樣試一下,是不是你想要的

6樓:匿名使用者

double a = 1.001;

printf("%lf",a);//會輸出1.001000,怎樣才能輸出1.001

通過在%與lf之間加上.d(此處的d為十進位制正整數)來控制輸出小數的位數,以此來控制輸出資料的精度,

比如:%.3lf表示輸出的資料有3位小數

%.5lf表示輸出的資料有5位小數

%lf預設輸出6位小數 ,所以本來a=1.001,結果輸出1.001000

7樓:不能說的_祕密

可以用%2.3lf,點3代表著小數為保留3位,前面的2可以隨便。

8樓:於是我呵呵

printf("%.3lf", a);

用c語言浮點輸出時,如何讓小數點後沒用的0不顯示。

9樓:匿名使用者

用%g格式符就可以了

例如:float f=3.14;printf("%g",f);

10樓:匿名使用者

printf("%.0lf", 2.344); //輸出為2 double型別

printf("%.0f", 2.344); //同上. float型別

c中如何使輸出的值小數點後最末位0捨去?

11樓:匿名使用者

如果你僅僅是要最後一個0去掉,很麻煩。不是的話,就用g格式。

g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。

printf("%g\n",a);

僅僅要去掉最後一個0,方法樓上有**了。麻煩 - -

12樓:匿名使用者

#include

int main()

13樓:我有赤兔

float f=3.141592653,x;

x=f%1;// x就是小數點後面的東東

char a=(char)f; /把浮點數轉成字串int i=2;/從a[2]開始才是小數的第一位char b=a[i];

while(b!='0')// 每個字元逐個檢查,直到發現0printf("%.(i-2)",f);//之所以-2是因為字串的第一個字元是 0 第二個字元是 。

這個辦法真的很麻煩,可是你的要求也夠麻煩的。。。。

14樓:匿名使用者

float f = 3.123456

printf("%.1",f);

結果為3.1

printf("%.5",f);

結果為3.12346

c語言怎麼去掉輸出的0

15樓:zz迎風

把 printf("%d",n%10); 換成 if(n%10!=0) printf("%d",n%10);

c語言 去掉小數點後面無效0

16樓:聽不清啊

printf("bmi:%g\n",c); -------不是%g¥n

printf("標準體重:%g\n",d);

這是沒有問題的。是你的程式中有錯,程式沒有編譯成功,仍舊執行舊的程式造成的。

17樓:匿名使用者

%x.yf x是整個數的位數,y是小數點後的位數也就是說你要0.20的話

float a=0.2;

printf("%.2f",a);

18樓:匿名使用者

printf 後輸出 %g就可以啦

如何使得c程式裡面printf函式對於浮點數不顯示後面的一大串0?

19樓:匿名使用者

printf("%g \n",float_value);

20樓:匿名使用者

%m.nf表示總長為m,小數點後有n位的實數

總長不足m位左邊補0

21樓:匿名使用者

printf("%.2f",1.55000); // %.2f就是2位小數的意思 %.3f就是3位....

22樓:楊洋

加%0.1f 就是printf("%0.1f",x);

23樓:張老叉

printf(「%0.lf」,a);

c語言 去掉小數點後面的數

24樓:匿名使用者

f=123.123

使用強制轉換命令:(int)f;

注意:在轉換的時候,前面的轉換型一定要打括號,否則不起作用。

25樓:三號床鋪的四哥

有兩種方法:

使用函式:

#include

void main()

printf("%d\n",a); }

2.使用強制轉換命令:(int)f;

注意:在轉換的時候,前面的轉換型一定要打括號,否則不起作用。

26樓:匿名使用者

太簡單了

#include"stdio.h"

main()

27樓:匿名使用者

//無小數的浮點數

#include

void main()

28樓:匿名使用者

#include

void main()

29樓:匿名使用者

double a=123.123;

printf("%d",int(a));

c語言中printf直接列印兩個函式介面的返回值問題

輸出應該是sunday monday 第一行 是定義一個靜態的指標字串!第3行是定義一個靜態函式 strcpy buf,msg index 函式的意思吧msg index 複製到buf字串裡,然後現在計入main函式,輸出 計入函式get day傳入引數0進入函式就是msg指標陣列msg第一個引數是...

c語言中,temp是什麼函式,C語言中,temp是什麼函式

在c語言中,temp沒有特別的含義,既不是關鍵字也不是庫函式。可能是程式設計人員自版定義的權一個變數或函式,通常用來表示一個臨時變數,來自 臨時 的英文單詞temporary。舉例如下 int temp 定義一個int型別的變數,變數名為temp double temp 定義一個double型別的變...

c語言中的main函式引數作用,C語言中的main函式引數作用

在呼叫可執行程式時,可以通過main函式的引數將命令列的呼叫引數傳遞給main函式。事實上,main 函式既可以是無參函式,也可以是有參的函式。對於有參的形式來說,就需要向其傳遞引數。從函式引數的形式上看,包含一個整型和一個指向字元指標的指標。當一個c的源程式經過編譯 連結後,會生成副檔名為.exe...