如题所述
template <class T>
double round_2( T i ) {
return std::round( i * 100.0L ) / 100.0L;
}
接近精度极限的时候会有问题(*100)。但是不做科学计算的话够用了。
假如使用c++11之前(不含11)的较老标准中没有round,可以自行定义为
double round(double d)
{
return floor(d + 0.5);
}
之类的。
double round_2( T i ) {
return std::round( i * 100.0L ) / 100.0L;
}
接近精度极限的时候会有问题(*100)。但是不做科学计算的话够用了。
假如使用c++11之前(不含11)的较老标准中没有round,可以自行定义为
double round(double d)
{
return floor(d + 0.5);
}
之类的。
温馨提示:答案为网友推荐,仅供参考