Esta pregunta es similar a "dropping trailing ‘.0’ from floats", pero para Perl y con un número máximo de dígitos después del decimal.En Perl, ¿cómo puedo limitar el número de lugares después del punto decimal pero no tener ceros finales?
Estoy buscando una forma de convertir números a formato de cadena, eliminando cualquier '0' redundante, incluso no justo después del decimal. Y aún con un número máximo de digitales, p. 3
Los datos de entrada son flotantes. salida deseada:
0 -> 0
0.1 -> 0.1
0.11 -> 0.11
0.111 -> 0.111
0.1111111 -> 0.111
Esta solución sólo funciona para los números pequeños. 'print' elimina la parte fraccionaria o cambia a notación científica por completo después de 15 dígitos; 'más cercano' puede amplificar cualquier error ya presente en el número (ej. redondeando' 111111111129995.56' a '.001' con' más cercano' produce '111111111129995.58', mientras' sprintf ("%. 3f", 111111111129995.56) 'produce correctamente' 111111111129995.56' .) – vladr