『壹』 c語言問題,這里怎麼實現四捨五入的啊
假定一個數字x值是10.456,那麼保留兩位,第三位四捨五入的方法就是先將x乘以100,變成1045.6,然後加上0.5,得到1046.1,然後去除1046.1的小數部分(也就是強制轉為int),得到1046,再用1046除以100.0就得到最終的10.46,寫出來也就是
x=(int)(x*100+0.5)/100.0
『貳』 c語言中的四捨五入怎麼做
利用取整運算的截斷特點實現。
比如: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語言怎麼四捨五入
利用取整。
比如 四捨五入到千分位,可以
(int)(x*1000+0.5)/1000.0
十分位(int)(x*10+0.5)/10.0
其他類似,只改變其中倍數的值即可。
『肆』 c語言四捨五入是怎樣的
全舍不入
需要實現四捨五入的時候就要使用double或者float類型的數進行運算然後if判斷
http://..com/question/68502540.html剛好有個類似的問題
『伍』 C語言 四捨五入
C,
(int)(x*100+0.5)中x*100就把小數點後兩位移到整數部分了,然後強制轉換為int,再除以float,所以結果為小數點後兩位,其他也可以,不過不是保留兩位小數。
你假設x=123.456
x*100+0.5=12345.6+0.5=12346.1//這里加0.5是為了4舌5入
然後強制轉化成int 為12346
再除以100
結果 為 123.46
這樣就做到了保留到小數點後兩位,並將第3位四捨五入