2011-03-28 7 views
44

En R, me gustaría mantener los ceros al final. Por ejemplo, si escriboMantener los ceros al final

round(5.2, 3) 

me gustaría que la salida sea 5.200.

¿Me puede ayudar?

Respuesta

58

Si esto es para fines de impresión, sprintf es lo que está buscando:

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

Ver ?sprintf para dar formato a los detalles .

+0

@Chase: ¿Existe la posibilidad de generar un valor numérico en lugar de un carácter? – Marco

+2

@Marco: Creo que no, un valor numérico no tiene ceros al final. – daroczig

+0

@Marco '5.2' ==' 5.200' son el mismo número, la única diferencia es cómo el número se representa como una cadena –

45

Al imprimir hacia fuera, usted debería ser capaz de hacer:

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

Gracias. Lo siento, no puedo aceptar más de una respuesta. He elegido aceptar el anterior ya que Chase tiene un puntaje de reputación más bajo. Sin embargo, tu solución también es muy buena. ¡Gracias de nuevo! – Marco

+0

¿Qué tal algo que funciona tanto para imprimir como para no imprimir? – rnorouzian

+0

No entiendo lo que quiere decir –

Cuestiones relacionadas