VC+中缺少lroundf+;2012 VisualC++ 2012,它是浮动的。什么方法是最正确的实现方法?< /P> < P>我发现这个实现: inline long lroundf(float num) { return st
VC+中缺少lroundf+;2012VC+中缺少lroundf+;2012 VisualC++ 2012,它是浮动的。什么方法是最正确的实现方法?< /P> < P>我发现这个实现: inline long lroundf(float num) { return st,c++,visual-studio-2012,C++,Visual Studio 2012,VC+中缺少lroundf+;2012 VisualC++ 2012,它是浮动的。什么方法是最正确的实现方法?< /P> < P>我发现这个实现: inline long lroundf(float num) { return static_cast<long>(roundf(num)); } 你确定?包括在内吗?您提供的链接只讨论std::round和cmath,这是不同的。尝试过,它不提供lroundf或类似的东西。奇怪的是,您可能可以使用floo
VisualC++ 2012,它是浮动的。什么方法是最正确的实现方法?< /P> < P>我发现这个实现:
inline long lroundf(float num) { return static_cast<long>(roundf(num)); }
你确定?包括在内吗?您提供的链接只讨论std::round和cmath,这是不同的。尝试过,它不提供lroundf或类似的东西。奇怪的是,您可能可以使用floor(+0.5f);那么。事实上,添加0.5f将使您的双人间“圆整”,而不仅仅是“地板”,或者可以尝试使用include,而不是VC++2012中的no。
inline float roundf(float num)
{
return num > 0 ? std::floor(num + 0.5f) : std::ceil(num - 0.5f);
}