🌵
C++で小数点第n位の丸め処理
概要
C++で丸め処理をする機会があったのだが、イマドキの言語のように気が利いた機能はついていない様子。
ないなら作ろう。
double myRound(double number, int ndigits){
double buf = number;
buf = buf * pow(10, ndigits);
buf = round(buf);
buf = buf * pow(10, -ndigits);
return buf;
}
解説
小数点を目的の位置にずらして丸めた後に元の位置へ戻している。
使い方はPythonのround関数と同じで、引数numberの小数部をndigits桁に丸めた値を返す。
Discussion