2012-04-21 13 views
6

से वैज्ञानिक संकेतन निकाला जा रहा है मैं इस समय तो जैसे दो तैरता गुणा कर रहा हूँ: 0.0004 .0000000000324 की तरह * .0000000000012 = 4.8e -16नाव

मैं एक सामान्य प्रारूप, यानी वैज्ञानिक संकेतन के बिना में परिणाम कैसे मिलता है, कुछ और उसके बाद 5 संख्याओं को कहने के लिए इसे गोल करें।

उत्तर

8

आप string formatting का उपयोग कर सकते हैं।

a = 0.0004 * 0.0000000000012 # => 4.8e-16 
'%.5f' % a # => "0.00000" 

pi = Math::PI # => 3.141592653589793 
'%.5f' % pi # => "3.14159" 
+2

यह एक स्ट्रिंग देता है, मैं इसे एक फ्लोट भी वापस करना चाहता हूं। अगर मैं "0.00001" .to_f करता हूं ... यह वैज्ञानिक नोटेशन – bytebiscuit

+1

फ़्लोट्स में एक फ्लोट वापस लौटाता है, तो नोट्स नहीं हैं, वे संख्याएं हैं। यह उनके ऑन-स्क्रीन प्रतिनिधित्व है जो वैज्ञानिक नोटेशन, एक स्ट्रीम और शून्य या जो कुछ भी हो सकता है। –

+0

सही, thnx समझा। – bytebiscuit

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