C語言有以下幾種取整方法:
1、直接指派給整數變量。如: int i = 2.5; 或 i = (int) 2.5; 這種方法采用的是舍去小數部分。
2、C/C++中的整數除法運算符"/"本身就有取整功能(int / int),而下面介紹的取整函數傳回值是double。整數除法對正數的取整是舍去小數部分,但是整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數,向下取整。floor(x)傳回的是x的整數部分。如: floor(2.5) = 2 floor(-2.5) = -3
4、使用ceil函數,向上取整。ceil(x)傳回的是不大于x的最小整數。如: ceil(2.5) = 2 ceil(-2.5) = -2 floor和ceil對于正數沒有差別,但是對于負數結果不同。floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。
5、round(x)傳回x的四舍五入整數值。
C語言數學函數ceil(), floor(), round()
#include
double ceil(double x);
double floor(double x);
double round(double x);
ceil(x)傳回不小于x的最小整數值(然後轉換為double型)。
floor(x)傳回不大于x的最大整數值。
round(x)傳回x的四舍五入整數值。