Tôi đã đọc hầu hết các bài viết trên đây về điểm nổi và tôi hiểu vấn đề cơ bản khi sử dụng IEEE 754 (và chỉ với bản chất lưu trữ số nhị phân). Tôi đang cố gắng tìm ra những điều sau đây: Nếu cả hai Python và JavaScript sử dụng các tiêu chuẩn IEEE 754, tại sao là nó mà thực hiện những điều sau bằng PythonMột câu hỏi nổi khác
.1 + .1
Kết quả trong ,20000000000000001 (mà là để được dự kiến)
trong trường hợp như trong Javascript (trong ít nhất Chrome và Firefox) câu trả lời là 0,2
Tuy nhiên thực hiện
.1 + .2
Trong cả hai ngôn ngữ kết quả trong 0,30000000000000004
Bên cạnh đó, thực hiện var a = 0,3; trong JavaScript và in một kết quả trong 0,3
Trong trường hợp như làm a = 0,3 trong kết quả Python trong 0,29999999999999999
Tôi muốn hiểu được lý do cho sự khác biệt này trong hành vi.
Ngoài ra, nhiều bài đăng trên hệ điều hành liên kết đến một cổng JavaScript của BigDecimal của Java, nhưng liên kết đã chết. Có ai có bản sao không?
Như mọi khi, một câu trả lời rõ ràng! –
Cảm ơn! Điều đó giúp làm rõ nó. – jeffmax
Tôi chưa thử, nhưng liên kết mới đến lớp JavaScript BigDecimal là http://stz-ida.de/index.php?option=com_content&view=article&id=18:bigdecimal-unterstuetzung-fuer-javascript&catid=4: phần mềm & Itemid = 32 – jeffmax