下面介绍几种浮点数转整数的方法
1.直接强行转化
float a = 3.1415926;
int b = (int)a;
NSLog(@"--------%d",b);
这种方法会把小数点后面的部分丢弃掉,不管小数部分多大,都会舍弃,只取整数部分。但是有的时候我们需要四舍五入,这个方法就不适合了。下面介绍一种高斯函数。
2.高斯函数
1.向上取整
float a = 3.1415926;
int b = ceil(a);
NSLog(@"--------%d",b);
向上取整 ceil(x)
是说不管小数部分有多小(必须大于0才可以,等于0的话仍会返回原整数部分),都是把整数部分加一,返回给你,也就是 b = 4;
2.向下取整
float a = 3.99999;
int b = floor(a);
NSLog(@"--------%d",b);
向下取整 floor(x)
是说不管小数部分有多大,都是把原整数部分返回给你,也就是 b = 3;
3.四舍五入
float a = 3.499999;
int b = round(a);
NSLog(@"--------%d",b);
四舍五入 round(x)
,就是和我们数学里面的一样,小数部分大于等于0.5时返回整数加一,否则返回整数部分。
4.取余
扫描二维码关注公众号,回复:
2258183 查看本文章
1.整数取余的方法是:
int a = 10 % 3;
结果是:a = 1;
2.floot类型取余方法:
float a = fmodf(10.0, 3.0);
结果是:a = 1.000000;
,这里我们用到一个函数 extern float fmodf(float, float);
或者用 extern float remainderf(float, float);
,对小数取余。