Questa domanda è simile a "dropping trailing ‘.0’ from floats", ma per Perl e con un numero massimo di cifre dopo il decimale.In Perl, come posso limitare il numero di posti dopo il punto decimale ma non avere zero finali?
Sto cercando un modo per convertire i numeri in formato stringa, eliminando qualsiasi "0" ridondante, incluso non appena dopo il decimale. E ancora con un numero massimo di digitali, ad es. 3
I dati di input sono float. output desiderato:
0 -> 0
0.1 -> 0.1
0.11 -> 0.11
0.111 -> 0.111
0.1111111 -> 0.111
Questa soluzione funziona solo per piccole quantità. 'print' rilascia la parte frazionaria o passa alla notazione scientifica del tutto dopo 15 cifre; 'nearest' può amplificare qualsiasi errore già presente nel numero (ad esempio arrotondare' 111111111129995.56' a '.001' con' nearest' produce '111111111129995.58', mentre' sprintf ("%. 3f", 11111111129995.56) 'produce correttamente' 1111111112129595,56' .) – vladr