কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ফ্লোটিং-পয়েন্ট অ্যারিথমেটিক ১০০% সঠিক কিনা?


ফ্লোটিং-পয়েন্ট অ্যারিথমেটিক জাভাস্ক্রিপ্টে সবসময় ১০০% সঠিক নয়। উদাহরণস্বরূপ, ১/৩ অর্থাৎ ০.৩৩৩৩৩..... এখানে ০.৩৩৩... মানটি কোনো অজানা পয়েন্টে রাউন্ড হয়ে যায়। তাই যদি এটি অন্য কোনো দশমিক মানের সাথে যোগ করা হয়, তখন অভিপ্রেত ফলাফল পাওয়া যায় না। তাই বলা যায়, দুটি দশমিক যোগ করলে রাউন্ডিং এরর (rounding errors) হয়, কিন্তু خوشখবর হলো এই এররগুলো খুব ছোট হওয়ায়実際 কোড রেজাল্ট প্রভাবিত হয় না।

নিচের উদাহরণে, ০.৩ এবং ০.৬ যোগ করলে ফলাফল ০.৯ হওয়া উচিত, কিন্তু রাউন্ডিং এরর-এর কারণে ফলাফল অভিপ্রেত মান নয়।

উদাহরণ

<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


নিচের উদাহরণে, ০.২ এবং ০.১ যোগ করলে অভিপ্রেত ফলাফল ০.৩, কিন্তু রাউন্ডিং এরর-এর কারণে অভিপ্রেত মান পাওয়া যায় না।

উদাহরণ

<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. জাভাস্ক্রিপ্ট Let কীওয়ার্ড

  2. জাভাস্ক্রিপ্ট Random - ম্যাথ.র‍্যান্ডম()

  3. জাভাস্ক্রিপ্ট Promises - অ্যাসিঙ্ক্রোনাস অপারেশন

  4. জাভাস্ক্রিপ্ট WeakSet