Задовільне округлення
Ви знаєте, коли ви знаходитесь в науковому класі, і просили округлити до 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
? Чому?