我通常擅长谷歌搜索这样的东西,但这次我似乎找不到任何东西。
我从这里下载了一些源代码,它使用了一个名为roundf
.
我已经有了#include <math.h>
并且作为第一个想法添加#include <cmath>
但仍然有问题。我似乎无法找出函数的来源......
有替代功能吗?或者有谁知道它来自哪里,所以我可以包含头文件?
该roundf()
函数由 C99 定义,但 MSVC 实现的 C99 很少,因此它不适用于 Microsoft 编译器。
你可以使用这个:
float roundf(float x)
{
return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f);
}
您还可以使用 boost 库:
#include <boost/math/special_functions/round.hpp>
const double a = boost::math::round(3.45); // = 3.0
const int b = boost::math::iround(3.45); // = 3