在C語言中的百分比怎麼精確到小數和保留整數四捨五入

2022-08-26 16:40:38 字數 3309 閱讀 3966

1樓:聽不清啊

#include

int main()

{ int a,b,k;

printf("請輸入分子分母和百分比的小數位數:\n");

scanf("%d%d%d",&a,&b,&k);

printf("%d/%d=%.*f%%\n",a,b,k,a*100.0/b);

return 0;

2樓:

1. 用float 帶小數

2. 用int強制轉換就是四捨五入

3. 最好是看官方的文件,有中文英文的,裡的示例**很詳細

3樓:匿名使用者

利用取整運算的截斷特點實現。

比如:int a=0.75;取整後賦值給a的是0,小數點後面的被截斷了。

如果要做整數的四捨五入,那麼可以:a=(int)(0.75+0.5);取整後得到的與數學中四捨五入的結果一致,都是1;

如果要進行小數點後面的四捨五入,可以這樣計算:

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756

float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;

運算是這樣的:先將0.756乘以100,得到75.

6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.

1取整後等於76,再除以100,得到結果:0.76

c語言中的保留兩位小數四捨五入的問題

4樓:匿名使用者

應該是精度問題。因你使用的是float變數,你可以用printf顯示a*100的結果是155.499995而不是155.50000你可以全改成double型#include

double fun ( double h )

main( )

5樓:匿名使用者

哈哈,我明白了,你輸入1.556試試啊

似乎和 轉換成二進位制後的誤差有關係

你輸入1.5550001都是正確滴

printf(".2f", a);你試試,1.455沒事,1.555也是錯誤的啊

6樓:匿名使用者

我暈,這麼下作啊????? 我的回答被人檢舉了 !!!!!!!!!! 我去~~~ 你把第4行的強制轉換去掉也就是(long) 再編譯就ok了!

剛剛檢舉我的人, 我**你** 真沒素質!!!!!!!!!

c語言四捨五入保留兩位小數的程式怎麼寫?

7樓:大聖

#include

double fun ( float  h )main( )

{  float  a;

printf ( "the original data is :   " );

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

printf ( "the result :  %f\n", fun ( a ) );

用c語言程式設計如何實現保留幾位小數並對最後一位四捨五入呀?謝謝了

8樓:匿名使用者

可能下面方法有點笨。

假如你要對一個數a保留到小數點後面n位

你可以這樣

temp=pow(0.1,n);

b=a+temp*0.5;

c=b-fmod(b,temp);

上函式都在math.h中

9樓:好程式設計師

很簡單,假如你有一個float型變數a,其值為1.23456,而你只想保留三位小數,也就是希望得到1.235,只需要令:

a = (int)(1000.0 * a + 0.5) / 1000.0

即可。如果要保留四位小數,就把1000都換成10000,依次類推

c語言中 實型轉化為整型時是四捨五入還是取整?

10樓:匿名使用者

隱式轉換取整數部分,顯式轉換(int)取整數部分,ceil()向上取整。

foat a=11.8;

int b=a;

那麼b=11;

c#怎麼保留小數後面2個小數 又怎麼四捨五入保留2個小數

11樓:51cto學院

c#中小數點後保留兩位小數,四捨五入的函式及使用方法

math.round(45.367,2) //returns 45.37

math.round(45.365,2) //returns 45.36

c#中的round()不是我們中國人理解的四捨五入,是老外的四捨五入,是符合ieee標準的四捨五入,具體是四捨六入,下面的才是符合中國人理解的四捨五入

math.round(45.367,2,midpointrounding.awayfromzero);//45.37

math.round(45.365,2,midpointrounding.awayfromzero) //returns 45.37

用c語言怎麼實現浮點數的四捨五入,保留兩位小數點

12樓:匿名使用者

c語言怎麼實現浮點數的四捨五入,保留兩位小數的設計過程為:

定義浮點點數回變數答df,輸入

浮點數浮點數df擴大100倍

浮點數df增加0.5

利用floor()函式得到最接近df數,但不大於df的整數(完成四捨五入)。不能用int強制轉換,否則,資料超過int範圍就會出現錯誤。

浮點數df縮小100倍得到有兩位小數的浮點數按%.2f輸出結果。

參考**:

#include

#include

void main()

13樓:不知道的現在

加0.5強制轉int。這是取到整數的方法。

其他位數道理差不多。2位的話你先乘100,加0.5強制轉int,然後除回100。

注意型別轉換。除100要轉double。

14樓:

float a=10.123;

a=((int)((a*100+5)/100))/100.0;//這個值應該就是保留兩位小數點的值吧

15樓:小_寶

printf("%4.2f",a);類似的,前面一個4是字的位數,後面一個2是兩位小數

百分比的換算公式,百分比怎麼換算成小數

數字換算成來 百分比 將原自數字小數點向右移動兩位後 實際就是乘以100 加上百分號。如 3 300 1。32 132 百分比怎麼樣換算成數字 將百分號去掉,然後將百分號前的數字的小數點向左移動兩位 實際就是除以100 如 35。4 0。354 300 3 數字換算成百分數 乘以100再在後面加個百...

WOW怎麼看目標血量的百分比,WOW 怎麼在怪的血條上面顯示百分比

在外掛或者介面裡可以改的,有個顯示小隊,玩家,寵物之類的.你把大腳裡顯示血量的全給去掉 介面設定裡有個 目標或者顯示裡面有顯示數值或者百分比 換下設定就可以了,把百分比換成具體資料。目標狀態,按esc,現系統設定選單.選介面,左側排選單,選狀態文字,選項顯示百比.打勾百比,沒打勾數字比 在無目標狀態...

鬥戰神百分比攻擊跟攻擊加成怎麼算的

攻擊加成整體。百分比加成 如 不帶 2000攻擊。不精練內300攻擊。帶上後就是容2300攻擊了。精煉,如100 百分比加成。那麼 會變成600攻擊,帶上之後就是2600攻擊。攻擊加成10 的話,如 還沒精煉300攻擊。帶上後2300攻擊。10 攻擊加成後2530攻擊。就是說,百分比攻擊,是加 的。...