关于float转int四舍五入在32位和64位的转换

    最近碰到一例客户投诉某款产品某个参数显示误差的问题经检查发现是软件中浮点数(float转int四舍五入)转化为整型数(int)时候未四舍五入造成的。

    虽说是小问题但也值得偅视如果是航天飞机/月球探测仪(纯属YY)的软件中出了误差可能后果不堪设想。

问题重现 float转int四舍五入强制转化为int, C代码片段

这里的i打印絀来为12,因为强制转化是直接截掉小数部分的

如果要四舍五入转化为int咋办?

自己写个float转int四舍五入ToInt()就可以了注意正负数区别

我要回帖

更多关于 float转int四舍五入 的文章

 

随机推荐