C++中是否有trunc函数?

Ali*_*ori 4 c++ math

我四处搜索,找不到truncC++ 的功能.我知道我可以这样做:

int main()
{
    double a = 12.566789;
    cout << setprecision(2) << fixed << (int)(a * 100) / 100.0 << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我不确定这是最好的方法.谢谢.

Ken*_*oom 20

如果您的C库太旧而缺少一个trunc函数(在C99中指定),您可以轻松地实现一个基于floorceil(在C89中指定)

double trunc(double d){ return (d>0) ? floor(d) : ceil(d) ; }
Run Code Online (Sandbox Code Playgroud)


the*_*mel 5

trunc在那里<cmath>

#include <iostream>
#include <cmath>

int main() {
        std::cout << trunc(3.141516) << std::endl; 
}
Run Code Online (Sandbox Code Playgroud)

我想您正在寻找其他东西吗?

  • 这在VS2010中不可用! (7认同)