iOS - 浮点数转化整数

下面介绍几种浮点数转整数的方法

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);,对小数取余。

猜你喜欢

转载自blog.csdn.net/ssy_1992/article/details/79261877