『壹』 c語言如何實現輸出浮點數小數點兩位(四捨五入法),但若小數點最後位為零則捨去
要對某個浮點數比如x保留到小數點後兩位,可以將x乘以100,變成對這個數進行四捨五入到個位。
double f(double x)
{
double j = (x>=0?1.0:-1.0); //j是符號
return int(abs(x)*100+0.5)/100.0*j; //進行四捨五入,注意考慮正負號
}
『貳』 C語言用%f輸出浮點數,想省略數字末尾的0,該怎麼辦 比如輸出的是1.200000和1.340000,想變成1.2和1.34
%g是去掉小數點後多餘的0的 。比如:float f=2.10000; printf("%g\n",f);則顯示的是2.1, 輸出流自動把後面多餘的0去掉
『叄』 c語言 去掉小數點後面的數
有兩種方法:
使用函數:
#include<stdio.h>
void main()
{ double x,temp; int a; scanf("%lf",&x);
temp=x; a=int(temp);
while(a!=temp
{ temp=temp*10; a=int(temp);
} printf("%d ",a); }
2.使用強制轉換命令:(int)f;
注意:在轉換的時候,前面的轉換型一定要打括弧,否則不起作用。
『肆』 C語言編程中怎麼自動去掉浮點數小數點後沒用的0。
#include<stdio.h>
int main()
{
float a=3.123000;
printf("%g ",a);//自動省略後面無意義的0
return 0;
}
(4)c語言小數點後0自動省略擴展閱讀
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,依此類推。同樣一個數字可能有多種「尾數+指數」的表示方法,而同時兼顧多種表示方法勢必會造成巨大的浪費。
『伍』 c中如何使輸出的值小數點後最末位0捨去
如果你僅僅是要最後一個0去掉,很麻煩。不是的話,就用g格式。
g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。
printf("%g\n",a);
僅僅要去掉最後一個0,方法樓上有代碼了。麻煩 - -