VC ++ 2012中缺少lroundf

时间:2014-10-05 16:19:21

标签: c++ visual-studio-2012

Visual C ++ 2012 doesn't support lroundf将float舍入为long。那个方法最正确的实现是什么?

1 个答案:

答案 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);
}