Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
Chú ý khi làm việc với floating point
Khi làm việc đôi khi ta phải so sánh 2 số thập phân mà nếu không để ý sẽ dẫn đến kết quả sai lệch ngoài dự đoán như trong ví dụ dưới đây.
VD:
0.1 + 0.2 == 0.3
#=> false
Giải thích:
Bản chất là do máy tính ko thể biểu diễn chính xác hầu hết các số thập phân. Do đó khi code được biên dịch thì các số này đc làm tròn về giá trị gần nhất với nó (ở dạng binary).
Tips:
Vậy làm thế nào để so sánh đc 2 số dạng này?
- Dùng 1 kiểu dữ liệu đặc biệt (ruby: BigDecimal)
- Làm tròn các số thập phân muốn so sánh về cùng 1 số dạng có số chữ số sau giống phẩy giống nhau
Link:
Bình luận

{{ comment.user.name }}
Bỏ hay
Hay

Bài viết liên quan

58
23
Luận về comment code (Phong cách kiếm hiệp) Comment code luôn là vấn đề gây tranh cãi sứt đầu mẻ trán trong giới võ lâm. Xưa kia, thuở còn mài đít...

18
0
Không gì đẹp bằng nụ cười khi đôi mắt e lệ nhìn xuống. Victor Hugo Các bạn có thể đọc bài viết gốc tại (Link) Tò mò khi tìm hiểu hoạt động của ...