2011-03-28 20 views
44

In R, vorrei mantenere gli zeri finali. Ad esempio, se di tipoMantenere gli zero finali

round(5.2, 3) 

Vorrei che l'uscita sia 5.200.

Potete aiutarmi?

risposta

58

Se questo è per la stampa, sprintf è quello che stai cercando:

> sprintf("%.3f", round(5.2,3)) 
[1] "5.200" 

Vedi ?sprintf per la formattazione dettagli .

+0

@Chase: Esiste la possibilità di generare un valore numerico anziché un carattere ??? – Marco

+2

@Marco: Penso di no, un valore numerico non ha zero finali. – daroczig

+0

@Marco '5.2' ==' 5.200' sono lo stesso numero, l'unica differenza è come il numero è rappresentato come una stringa –

45

Quando si stampa fuori, si dovrebbe essere in grado di fare:

formatC(round(5.2, 3), format='f', digits=3) 
+0

Grazie. Mi dispiace, non posso accettare più di una risposta. Ho scelto di accettare quello precedente poiché Chase ha un punteggio di reputazione inferiore. Tuttavia, la tua soluzione è molto buona. Grazie ancora! – Marco

+0

Cosa ne pensi di qualcosa che funzioni sia per scopi di stampa che di non stampa? – rnorouzian

+0

Non capisco cosa intendi –

Problemi correlati