2011-03-28 11 views
44

आर में, मैं पिछला शून्य रखना चाहता हूं। उदाहरण के लिए, अगर मैं टाइपपिछला शून्य रखते हुए

round(5.2, 3) 

मैं उत्पादन 5.200 होना चाहते हैं।

क्या आप मेरी मदद कर सकते हैं?

उत्तर

58

यदि यह मुद्रण उद्देश्यों के लिए है sprintf क्या आप के बाद कर रहे हैं:

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

विवरण फ़ॉर्मेट करने के लिए ?sprintf देखें ।

+0

@Chase: क्या किसी चरित्र के बजाय संख्यात्मक मान आउटपुट करने की संभावना है ??? – Marco

+2

@ मार्को: मुझे नहीं लगता, कोई संख्यात्मक मान पीछे शून्य नहीं है। – daroczig

+0

@ मार्को '5.2' ==' 5.200' वे एक ही संख्या हैं, केवल अंतर यह है कि संख्या को स्ट्रिंग –

45

जब आप इसे प्रिंट, तुम क्या करने में सक्षम होना चाहिए:,

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

धन्यवाद। मुझे खेद है, मैं एक से अधिक जवाब स्वीकार नहीं कर सकता। चेस के पास कम प्रतिष्ठा स्कोर होने के बाद से मैंने पिछले एक को स्वीकार करना चुना है। हालांकि, आपका समाधान भी बहुत अच्छा है। फिर से धन्यवाद! – Marco

+0

प्रिंटिंग और गैर प्रिंटिंग उद्देश्यों के लिए दोनों काम करने वाले कुछ के बारे में कैसे? – rnorouzian

+0

मुझे समझ में नहीं आता कि आपका क्या मतलब है –

संबंधित मुद्दे