Nguyễn Hoàng
Nguyễn Hoàng
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 139 lượt xem

Tôi thực hành z=100*(1+015) thì thấy kết quả z có kiểu float và giá trị 11499999999

Tôi thực hành z=100*(1+0.15) thì thấy kết quả z có kiểu float và giá trị 114.99999999 thay vì 115, xin giải thích và cách khắc phục.

Thảo luận 1 câu trả lời
Lượt xem 139 lượt xem
Vỗ tay vỗ tay
Nguyễn Hoàng 14:02 - Feb 18, 2022

Liên quan tới vấn đề này, do trong biểu thức có giá trị float nên mặc định biên z sẽ là kiểu dữ liệu này. Việc hiển thị ra 114.99999 xảy ra với các phép tính với đầu số thập phân khác 0 (nếu anh chuyển thành 100*1+100*0.15 thì sẽ hiển thị kết quả như kỳ vọng)

Để khắc phục vấn đề này, mình có thể sử dụng hàm round(z) để có được kết quả mong muốn nhé ạ

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông