Tính toán không chính xác trong JavaScript
Phân số được lưu trữ trong máy tính dưới dạng mà thường có thể được biểu diễn một cách không chính xác. Trong trường hợp này, bạn có thể gặp một bất ngờ khi một phép toán cơ bản lại cho ra kết quả kỳ lạ. Ví dụ:
let a = 0.1 + 0.2;
alert(a); // sẽ hiển thị 0.30000000000000004
Để giải quyết hành vi này có thể
áp dụng phương thức đặc biệt toFixed,
thực hiện làm tròn đến số chữ số
phần thập phân được chỉ định. Hãy làm tròn
kết quả của chúng ta:
let a = 0.1 + 0.2;
alert(a.toFixed(2)); // sẽ hiển thị '0.30'
Phương thức toFixed trả về kết quả dưới dạng
chuỗi. Có thể chuyển đổi kết quả của nó
thành số:
let a = 0.1 + 0.2;
alert(+a.toFixed(2)); // sẽ hiển thị 0.3
Hãy kiểm tra xem kết quả của phép toán sau đây sẽ là gì:
alert(0.1 * 0.2);
Hãy kiểm tra xem kết quả của phép toán sau đây sẽ là gì:
alert(0.3 - 0.1);