C++で四捨五入する
小数点第一桁で四捨五入したい場合は,0.5を足してからint型に変換(切り下げ)すればいい.小数点第n桁以下で四捨五入したい場合は,10n - 1倍してから,0.5を足してint型に変換.その後,10n - 1で割り直す.
#include <cstdio> int main(){ float f1 = 5.4; printf("%f\n", float(int(f1 + 0.5))); // 5.000000 float f2 = 3.8; printf("%f\n", float(int(f2 + 0.5))); // 4.000000 float f3 = 2.63; printf("%f\n", float(int(f3 * 10 + 0.5)) / 10); // 2.600000 float f4 = 7.2567; printf("%f\n", float(int(f4 * 100 + 0.5)) / 100); // 7.260000 }