你好,我想在 C++ 中像这样舍入双数(远离零):
4.2 ----> 5
5.7 ----> 6
-7.8 ----> -8
-34.2 ----> -35
做到这一点的有效方法是什么?
inline double myround(double x)
{
return x < 0 ? floor(x) : ceil(x);
}
正如中提到的哈皮引用的文章,最好将其表示为适用于所有浮点类型的模板
See http://en.cppreference.com/w/cpp/numeric/math/floor and http://en.cppreference.com/w/cpp/numeric/math/floor
或者,感谢 Pax,一个非函数版本:
x = (x < 0) ? floor(x) : ceil(x);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)