Redondeo satisfactorio
Sabes cuando estás en la clase de ciencias y te piden redondear a 2 higos, pero tu respuesta es 5.2501...
? Deberías redondear a 5.3
, ¡pero eso es tan insatisfactorio! Al redondear a 5.3
, se obtiene un total de 0.05, que es una gran cantidad en comparación con 0.1 (el valor posicional al que está redondeando). Así que ayúdame a redondear de una manera satisfactoria.
Para redondear de manera satisfactoria, debe redondear en el primer dígito que encuentre que produce un error relativamente pequeño, menos de la mitad del error máximo posible al redondear. Básicamente, debe redondear cada vez que encuentre 0, 1, 8 o 9. Si eso nunca sucede, devuelva la entrada como está. No redondee los ceros a la izquierda o unos, eso simplemente no se siente satisfactorio.
Entrada
Una cadena o valor flotante que representa un número decimal no negativo.
Salida
El mismo número decimal redondeado satisfactoriamente, en formato de cadena o flotante.
Ejemplos
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
Este es un desafío de código de golf , por lo que gana el código más corto.
036.40000
consideran cadenas como una salida válida?
.0
dará una parte para enteros? Además, 0
no es positivo.
19
redondea 20
pero 0.19
redondea 0
? ¿Por qué?