2011-01-14 11 views
22

पर http://www.mredkj.com/javascript/nfbasic2.html आधार पर, निम्न कोड 5.6e + 2 का परिणाम देगा।वैज्ञानिक नोटेशन के बिना "toPrecision" का परिणाम कैसे प्रदर्शित करें?

num = 555.55; 
result = num.toPrecision(2); // result will equal 5.6e+2 

मैं कैसे परिणाम चर के उत्पादन में वैज्ञानिक संकेतन (अर्थात, ई) के बिना प्रदर्शित किया दे सकते हैं?

उत्तर

18

प्रयास करें कम परिशुद्धता के साथ एक नाव पाने के लिए आपको toPrecision() इस्तेमाल कर सकते हैं जैसे आप करते हैं, और फिर, parseFloat() साथ वैज्ञानिक संकेतन पार्स तो जैसे:

result = parseFloat(num.toPrecision(2)); 

यदि आप करते हैं परिशुद्धता को कम करने की इच्छा नहीं है, आप निश्चित संख्या के साथ संख्या प्राप्त करने के लिए toFixed() का उपयोग कर सकते हैं।

+1

जो 2 दशमलव उत्पन्न करता है। प्रेसिजन दशमलव बिंदु से गिनती शुरू नहीं करता है, लेकिन पहले अंक से। '555.55" के लिए 'प्रेसिजन (2)' का अर्थ 'tofixed (-1) 'जैसा होगा (जो अस्तित्व में नहीं है क्योंकि यह वास्तव में समझ में नहीं आता है)। –

+0

अच्छा बिंदु। उत्तर संशोधित। –

+0

यह कमाल है। यह अच्छी तरह से बड़ी संख्या स्वरूपों ('२,४८,२३,४९२.२९३८४९ -> 25000000') और साथ ही दशमलव धूल के साथ संख्या (उदाहरण के लिए 1/5 + 1/20 - 1/200 + 1/400 + 1/10 = 0,34750000000000003 -> 0.35') – prototype

0

result = Math.ceil(555.55); 
+3

यह पैदावार '556', नहीं' 560' जो '5.6e + 2' प्रतिनिधित्व करता है। –

10
Number((555.55).toPrecision(2)) 

http://jsfiddle.net/K5GRb/

+1

+1, और अपने ही उत्तर हटा दिया गया। यह पूरी तरह से जाने का रास्ता है। –

+0

((555.55) .toPrecision (2)) – asmmahmud

-3

eval बुराई है।

var result = num.toPrecision(2).toString(10);

बजाय

करो।

+1

toPrecision एक स्ट्रिंग देता है, ताकि पर toString बुला एक फर्क नहीं होता यह parseFloat से अधिक बेहतर है। –

+1

एफएफ 3.5.3 में, यह अभी भी 5.6e + 2 – Ricky

+0

दिखाओ क्षमा करें, मेरा बुरा .. – timdream

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