RE: Dùng hàm sum dữ liệu tự thêm giá tri 0.000000001
ongke0711 > 27-04-18, 02:01 AM
Đúng như anh tranhthanhan1962 nói: đây là lỗi dấu chấm động (Floating point). Bạn chỉ có cách là xử lý con số trước khi tính toán bằng cách dùng hàm CCur(), CDec() hoặc Round().
Đối với hàm CCur() bạn chỉ sử dụng cho số nào có 4 số thập phân đổ lại, nếu 5 số thập phân thì cũng trả về sai kết quả (CCur chỉ lấy 4 số thập phân giống kiểu Currency). Do đó dùng CDec() sẽ chính xác hơn.
Vd: Nếu bạn vô cửa số Immediate gõ: ?1.0001-1 xem nó ra số mấy? có phải là 0.0001 không.=> đây là lỗi Floating point.
Nếu sửa lại là: ? CDec (1.0001) - 1; Round (1.0001 - 1,4) => sẽ ra số chính xác.