C語言實現四捨五入

2021-08-18 23:44:44 字數 1020 閱讀 7269

c語言中實現四捨五入:

(int)(a+0.5)即可。

很巧妙的用了取整規則。

也不用匯入math.h

同樣注意負數的情況。

把 + 換成 - 即可。

float f = …..;

int i = (int)(f + 0.5);

i就是f四捨五入的結果。

今天我要介紹在c語言中實現資料四捨五入的演算法。

我們知道,c語言中去除小數字採用的方法就是強制性轉化成整型型別。那麼假如我們要對乙個小數保留三個小數字而第四個小數字按照四捨五入的規則進行,

該怎樣實現呢?很簡單,我們將數字擴大1000倍,使得第四位小數稱為新數字的第一位,然後我們可以給它加上0.5後再進行強制性轉化。加0.5的原因就是:

假如這個小數字的數值大於5,加上0.5能夠實現進製的作用,倘若小於0.5,就沒有實現進製的作用。如此,就能實現小數字的四捨五入。然後我們再對這個數值

進行強制性轉化,然後再處以1000.0(記住,一定要1000.0,否則就會出現隱式轉化),在輸出的時候用%0.3f以實現保留三位小數。

# include 

int main(void)

有乙個round函式可以直接呼叫,

round(x)

引數時double型,返回小數對整數部分的四捨五入值

比如 round(3.623); 返回4

c語言中保留兩位小數:小技巧

① float a = 3.456; //保留到小數點後兩位

float b =(int)((a * 100) + 0.5) / 100.0;

輸出結果為3.46

精度比較高

② float a = 23.456789;

printf(「%.2f」,a); //輸出為23.45

#include"stdio.h"

#include"math.h"

void main()

C語言 實現資料的四捨五入

標籤 c語言 資料 四捨五入 by 小威威 今天我要介紹在c語言中實現資料四捨五入的演算法。我們知道,c語言中去除小數字採用的方法就是強制性轉化成整型型別。那麼假如我們要對乙個小數保留三個小數字而第四個小數字按照四捨五入的規則進行,該怎樣實現呢?很簡單,我們將數字擴大1000倍,使得第四位小數稱為新...

c語言 四捨五入

對於正的浮點數,最簡單的四捨五入方法就是用這樣的乙個表示式 long x 0.5 但是如果表示式對負數有效的話會更好,即使在你看來負數的情況不會發生。這意味著你可以用乙個條件表示式 x 0 long x 0.5 long x 0.5 這個表示式的返回值就是與浮點變數 x 的值最接近的整數值。如果需要...

c 四捨五入

在處理一些資料時,我們希望能用 四捨五入 法實現,但是c 採用的是 四捨六入五成雙 的方法,如下面的例子,就是用 四捨六入五成雙 得到的結果 double d1 math.round 1.25,1 1.2double d2 math.round 1.24,1 1.2double d3 math.ro...