浮点类型强制转换会丢弃小数部分(linux内核中一般不要使用浮点数,解决方法是放大为整数操作)

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i;
    float a=0.2;
    float f=0.49;
    float b = 0.5;
    float e = 0.51;
    float c=0.6;
    float k=0.99;
    float g = 1.0;
    float h = 1.1;
    printf("0.2 : %d  0.49:%d  0.5:%d  0.51:%d  0.6: %d 0.99:%d  1.0:%d  1.1:%d\n",(int)a,(int)f,(int)b,(int)e,(int)c,(int)k,(int)g,(int)h);

    return 0;
}

0.2 : 0  0.49:0  0.5:0  0.51:0  0.6: 0 0.99:0  1.0:1  1.1:1

原文地址:https://www.cnblogs.com/leaven/p/1771581.html