四舍五入问题
double x = 23.456789; cout << fixed << setprecision(4) << x << '\n'; printf("%.4lf\n", x); cout << (int)(x * 10000 + 0.5) / 10000.0 << '\n'; cout << (int)(x * 10000) / 10000.0 <<'\n'; cout << round(x) << '\n'; cout << floor(x) << '\n'; cout << ceil(x) << '\n';23.4568
23.4568
23.4568
23.4567
23.0000
23.0000
24.0000
因为 fixed setprecision 写了一次,以后输出都会按照其规定输出