#B1371. 四舍六入五留双

四舍六入五留双

【题目描述】

输入一个非负实数 ff 和整数 dd。

请将 ff 按“四舍六入五留双”规则保留 dd 位小数后输出,且输出恰好包含 dd 位小数。

规则如下:

  • 若舍弃部分的首位数字小于 55,则直接舍去。
  • 若舍弃部分的首位数字大于 55,或首位数字等于 55 且后面还有非零数字,则向保留部分进位。
  • 若舍弃部分的首位数字等于 55 且后面全为 00,则让保留后的末位数字为偶数:若原末位为偶数则不进位,若原末位为奇数则进位。

【输入描述】

输入一行,包含一个实数 ff 和一个整数 dd。

保证:

  • 0≤f≤10\le f\le 1;
  • 1≤d≤81\le d\le 8;
  • ff 至多有 3030 位小数。

【输出描述】

输出一行,表示保留 dd 位小数后的结果。


【样例 1】

【样例 1 输入】

0.12344 4

【样例 1 输出】

0.1234

【样例 1 解释】

保留 44 位小数时,舍弃部分首位为 4,直接舍去。


【样例 2】

【样例 2 输入】

0.12346 4

【样例 2 输出】

0.1235

【样例 2 解释】

保留 44 位小数时,舍弃部分首位为 6,需要进位。


【样例 3】

【样例 3 输入】

0.1251 2

【样例 3 输出】

0.13

【样例 3 解释】

保留 22 位小数时,舍弃部分首位为 5,且后面还有非零数字 1,需要进位。


【样例 4】

【样例 4 输入】

0.135 2

【样例 4 输出】

0.14

【样例 4 解释】

保留 22 位小数时,舍弃部分恰好为 5,原末位 3 为奇数,因此进位成偶数 4。