Cần Giải Quyết vấn đề Dấu phẩy động và sai số

dấu phẩy động có ảnh hưởng không nhỏ trong việc tính toán!
Ta dễ thấy 2.3 x 6 = 13.8
Tại sao trog java 2.3 x 6 = 12.99999
Làm sao để giải quyết được vấn đề này ạ

Vì khi muốn store số 2.3 trong bộ nhớ, nó phải đổi 2.3 sang thành 10.0100110011… để lưu. Vì thế nên mới có sai sót. 1 phương pháp để tránh tình trạng này thì bạn hãy dùng BigDecimal trong java.

Mình cũng dùng BigDecimal mấy lần trước ;
Lúc trước mình new Decimal(2.3) nên sai… và tới hôm nay mình mới hiểu ra rằng new Decimal(“2.3”); mới đúng .
Thanks bạn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?