P74. 【例14.2】 四舍六入五留双
说明
输入一个实数\(f\)和一个整数\(d\)。
输出实数\(f\),在保留\(d\)位小数下的结果,采用四舍六入五留双的近似。
\(f\)至多有\(30\)位小数。
\(0 \le f \le 1\)
\(1 \le d \le 8\)
所谓四舍六入五留双,是指如果恰好是\(0.5\)的情况,会把它近似到使得前一位是偶数。
比如近似到整数,\(0.4\)为\(0\),\(0.5\)为\(0\),\(0.50001\)为\(1\),\(0.6\)为\(1\),\(1.5\)为\(2\),\(2.5\)为\(2\)。
输入格式
一行一个浮点数f和一个整数\(d\)。
输出格式
一行一个浮点数表示答案。
题解
format()形式可针对利用变量x指定保留位数时,用format()形式
f,x=input().split()
f=float(f)
x=int(x)
# print(round(f,d)) # ac 17 err 3
print("%.{}f".format(x) % f)# 题解
c++ 中直接使用
cout<<fixed<<setprecision(n)<<a;
中可以指定 n 来限制位数