Computer >> Máy Tính >  >> Lập trình >> Javascript

'Số học dấu phẩy động' có chính xác 100% trong JavaScript không?


số học dấu phẩy động không phải lúc nào cũng chính xác 100% trong javascript. Giả sử lấy 1/3 tức là 0,33333 ..... Ở đây giá trị 0,333 .... sẽ làm tròn tại một điểm không xác định. Vì vậy, nếu chúng ta thêm nó với một giá trị khác, giá trị của nó cũng là số thập phân, chúng ta sẽ không nhận được kết quả như mong muốn. Vì vậy, chúng tôi có thể kết luận rằng khi hai số thập phân được thêm vào sẽ có lỗi làm tròn , nhưng may mắn thay, những lỗi đó khá nhỏ nên kết quả mã thực tế sẽ không bị ảnh hưởng.

Trong ví dụ sau, khi 0,3 được thêm với 0,6, kết quả phải là 0,9 nhưng vì có lỗi làm tròn giá trị kết quả không phải là giá trị dự định như được hiển thị trong đầu ra.

Ví dụ

<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>

Đầu ra

0.3 + 0.6 = 0.8999999999999999


Trong ví dụ sau, khi 0,2 và 0,1 được thêm vào, kết quả dự kiến ​​là 0,3 nhưng do vòng lặp g lỗi , giá trị dự định không phải là giá trị kết quả.

Ví dụ

<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>

Đầu ra

0.2 + 0.1 = 0.30000000000000004