C 語言數值取整

2021-07-23 03:44:17 字數 1017 閱讀 9459

預設情況下

// 丟棄小數點後面的值,結果為正數時可以認為是向下取整;結果為負數時取值結果和編譯器相關

int c = (a / b);

除此之外還有兩個函式可以實現向上取整或向下取整

// ceil 可以理解為向正方向取整。如 3.5 取整為 4. -3.5取整為 -3

double

ceil(double x);

float ceilf(float x);

// floor 可以理解為向負方向取整。如 3.5 取整為 3. -3.5取整為 -4

double

floor(double x);

float floorf(float x);

實現向上取整還可以使用如下方法

int a = 10, b = 3,  c = 0

;c = (a + b - 1) / b;

向下取整

float b = -10.5;

bool positive = b > 0;

if (!positive)

int c = (int)b;

c = positive ? c : ((c + 1) * (-1));

float b = 10;

float a = 3;

int c = (int)((b / a) + 0.5);

使用上面的方法可以實現更靈活的進製方式

// 實現逢 3 進製

float b = 10;

float a = 3;

int c = (int)((b / a) + 0.7);

// 實現逢 6 進製

float b = 10;

float a = 3;

int c = (int)((b / a) + 0.4);

js數值取整

1.取整 丟棄小數部分,保留整數部分 parseint 5 2 2 2.向上取整 向上取整,有小數就整數部分加1 math.ceil 5 2 3 3.向下取整 向下取整,丟棄小數部分 math.floor 5 2 2 4四捨五入 四捨五入 math.round 5 2 3 標準數字 0 9 0 9 ...

C語言取整

使用floor函式。floor x 返回的是小於或等於x的最大整數。如 floor 10.5 10 floor 10.5 11 使用ceil函式。ceil x 返回的是大於x的最小整數。如 ceil 10.5 11 ceil 10.5 10 floor 是向負無窮大捨入,floor 10.5 11 ...

c語言取整方法

實驗環境 vc6.0 1 使用int強制轉換 使用int強制轉換的結果就是去掉小數部分。int a a int 1.2 a 1 a int 1.2 a 1 2 使用floor函式向下取整 使用floor函式的結果是向下取整,即得到比該數小的最大整數,需要包含標頭檔案math.h in a a flo...