Задовільне округлення
Ви знаєте, коли ви знаходитесь в науковому класі, і просили округлити до 2 сиг фіг 5.2501.... Ви повинні крутитися 5.3, але це просто незадовільно! Округлюючи до 5.3, ви знищуєте цілих 0,05, що на велику суму порівняно з 0,1 (значення місця, яке ви округляєте)! Тож допоможіть мені подолати задоволення.
Щоб закруглити задовільний спосіб, ви повинні округлити першу цифру, на яку ви зіткнулися, що призведе до порівняно невеликої помилки - менше половини від максимальної можливої помилки при округленні. В основному, вам потрібно заокруглювати всякий раз, коли ви стикаєтеся з 0, 1, 8 або 9. Якщо цього ніколи не відбудеться, поверніть дані як є. Не кружляйте на перших нулях чи одиницях - це просто не буде задовольняти.
Вхідні дані
Значення рядка або плаваючого числа, яке представляє неотримані десяткові числа.
Вихідні дані
Це ж десятковий номер задовільно округлюється в рядковому або плаваючому форматі.
Приклади
Input -> Output
0 -> 0
0.5 -> 0.5
0.19 -> 0
0.8 -> 1
5.64511 -> 5.645
18.913 -> 20
88.913 -> 100
36.38299 -> 36.4
621 -> 620
803.22 -> 1000
547.4726 -> 547.4726
Це проблема з кодовим гольфом , тому найкоротший виграш коду!
036.40000вважається, є дійсним?
.0частина буде надана для цілих чисел? Крім того, 0не є позитивним.
19раунди до, 20але 0.19раунди до 0? Чому?