强制类型转换是四舍五入吗?
答案不是,1)将浮点数 强制类型转换为整数 是只取整数部分,如下:printf("%d,",(uint16_t)52.62)会输出522)如果想实现四舍五入:可在原来浮点数基础上+/-0.5,即可实现四舍五入printf("%d,",(uint16_t)52.62+0.5)结果是53正数+0.5,负数-0.5,然后取整即可...
·
答案不是,
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,然后取整即可
更多推荐
已为社区贡献8条内容
所有评论(0)