Visual C ++ 2012 doesn't support lroundf将float舍入为long。那个方法最正确的实现是什么?
答案 0 :(得分:1)
我发现了这个实现:
inline long lroundf(float num) { return static_cast<long>(roundf(num)); }
来自here
我的roundf实现如下:
inline float roundf(float num)
{
return num > 0 ? std::floor(num + 0.5f) : std::ceil(num - 0.5f);
}