强制类型转换是四舍五入吗?

答案不是

1)将浮点数 强制类型转换为整数  是只取整数部分,如下:

printf("%d,",(uint16_t)52.62)

会输出52

2)如果想实现四舍五入:

可在原来浮点数基础上+/-0.5,即可实现四舍五入--------这也是看别人代码时有时发现浮点数会+-0.5f的原因

printf("%d,",(uint16_t)(52.62+0.5))     结果是53

正数+0.5,负数-0.5,然后取整即可

你可能感兴趣的:(C补习,浮点数转换为整数)