http://www.cocoachina.com/bbs/read.php?tid=216001
OS中的round/ceil/floorf函数略解
extern double ceil(double);
extern long double ceill(long double);
extern float floorf(float);
extern double floor(double);
extern long double floorl(longdouble);
extern float roundf(float);
extern double round(double);
extern long double roundl(longdouble);
round:如果参数是小数,则求本身的四舍五入。
ceil:如果参数是小数,则求最大的整数但不大于本身.
floor:如果参数是小数,则求最小的整数但不小于本身.
Example:如何值是3.4的话,则
3.4 -- round 3.000000
-- ceil 4.000000
-- floor 3.00000
CGRectMake(floorf(self.view.bounds.size.width*0.5f - 39.f*0.5f),self.view.bounds.size.height -57, 39, 39)
其中floorf(self.view.bounds.size.width*0.5f -39.f*0.5f)返回值为
140.000000这种形式
Objective-C拓展了C,自然很多用法是和C一致的。比如浮点数转化成整数,就有以下四种情况。
输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。 2.高斯函数,向下取整
输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1. 3.ceil函数,向上取整。
输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分. 4.通过强制类型转换四舍五入。
其中原理非常简单,所以就不做详细说明了。 转自:http://blog.csdn.net/abc649395594/article/details/44730425 |