Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

क्या जावास्क्रिप्ट में 'फ्लोटिंग-पॉइंट अंकगणित' 100% सटीक है?

फ्लोटिंग-पॉइंट अंकगणित जावास्क्रिप्ट में हमेशा 100% सटीक नहीं होता। मान लीजिए 1/3 लें यानी 0.33333..... यहां मान 0.333.... किसी अज्ञात बिंदु पर राउंड होगा। इसलिए यदि हम इसे किसी अन्य मान के साथ जोड़ते हैं, जिसका मान भी दशमलव है, तो हमें इच्छित परिणाम नहीं मिलेगा। इसलिए हम निष्कर्ष निकाल सकते हैं कि जब दो दशमलव जोड़े जाते हैं तो राउंडिंग एरर्स होंगी, लेकिन सौभाग्य से, वे त्रुटियां काफी छोटी होती हैं ताकि वास्तविक कोड परिणाम प्रभावित न हो।

निम्नलिखित उदाहरण में, जब 0.3 को 0.6 के साथ जोड़ा जाता है तो परिणाम 0.9 होना चाहिए लेकिन चूंकि राउंडिंग एरर्स हैं, परिणाम इच्छित मान नहीं है जैसा कि आउटपुट में दिखाया गया है।

उदाहरण

<html> <body>    <p id="F-P-A"></p>    <script>       var err = 0.3 + 0.6;          document.getElementById("F-P-A").innerHTML = "0.3 + 0.6 = " + err;    </script> </body> </html>

आउटपुट

0.3 + 0.6 = 0.8999999999999999

निम्नलिखित उदाहरण में, जब 0.2 और 0.1 को जोड़ा गया तो इच्छित परिणाम 0.3 है लेकिन राउंडिंग एरर के कारण, इच्छित मान परिणाम मान नहीं है।

उदाहरण

<html> <body>    <p id="F-P-A"></p>    <script>       var err = 0.2 + 0.1;       document.getElementById("F-P-A").innerHTML = "0.2 + 0.1 = " + err;    </script> </body> </html>

आउटपुट

0.2 + 0.1 = 0.30000000000000004
  1. JavaScript Random नंबर JavaScript Random नंबर

    Math.random() फंक्शन का उपयोग 0 और 1 के बीच एक रैंडम फ्लोटिंग-पॉइंट नंबर उत्पन्न करने के लिए किया जाता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc

  1. JavaScript Promises JavaScript Promises

    JavaScript में Promises हमें एसिंक्रोनस ऑपरेशन करने की अनुमति देते हैं जहां वैल्यू प्रॉमिस बनाते समय पहले से ज्ञात नहीं होती। एक प्रॉमिस की तीन अवस्थाएं हो सकती हैं: पेंडिंग, फुलफिल्ड और रिजेक्टेड।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&

  1. JavaScript WeakSet JavaScript WeakSet

    JavaScript WeakSet का उपयोग ऑब्जेक्ट्स के संग्रह को स्टोर करने के लिए किया जाता है। Set की तरह यह डुप्लिकेट स्टोर नहीं करता।WeakSet के मेथड्समेथडविवरणadd(obj)WeakSet में नया वैल्यू जोड़ता है।delete(obj)WeakSet से वैल्यू हटाता है।has(obj)True या false लौटाता है यह इस पर निर्भर करता है कि WeakSet ऑब्ज