Tôi muốn nhân lên bằng cách sử dụng javascript.Khi tôi nhân 2 và 0,15 tôi nhận được 0,3 nhưng khi tôi nhân 3 và 0,15 tôi nhận 0,44999999999999996 Tôi muốn nhận 0,45 như kết quả. Làm cách nào tôi có thể làm điều đó với javascript?Nhân int và float trong javascript
Trả lời
Đó là lỗi làm tròn. Bạn có thể muốn làm tròn số của mình tới số lượng chữ số cố định, như sau:
parseFloat((your_number).toFixed(2));
Thật tuyệt, nhưng nó tạo ra chuỗi FWIW! –
Vì vậy, parsefloat nó – mplungjan
@mplungjan Vâng, tôi biết rằng, OP có thể không. –
Thật không may điều này xảy ra bằng bất kỳ ngôn ngữ nào sử dụng số học dấu phẩy động. Đó là một tạo phẩm phát sinh khi các hoạt động điểm động được mã hóa thành nhị phân, các thao tác được thực hiện và được giải mã từ nhị phân để báo cáo câu trả lời dưới dạng bạn mong muốn.
Tùy thuộc vào những gì bạn muốn thực hiện với đầu ra, bạn có thể gọi hàm tròn() để làm tròn đến số chữ số thập phân hoặc so sánh đầu ra với giá trị bằng một số (nhỏ) được gọi là dung sai . Ví dụ. hai số được coi là bằng nhau nếu chênh lệch tuyệt đối của chúng nhỏ hơn so với sự khoan dung này.
cảm ơn nhiều :) –
- 1. không thể nhân chuỗi bởi non-int thuộc loại 'float'
- 2. Timedelta nhân với float trong python
- 3. Haskell, nhân Int và nổi trong vòng một hàm
- 4. đâu op_addition trong [int, float, double]
- 5. thực hiện nhanh nhất của log2 (int) và log2 (float)
- 6. javascript float từ/đến bit
- 7. Float và Int Cả 4 Byte? Làm thế nào mà?
- 8. Int để Float để Int chuyển đổi chính xác mất
- 9. Chuyển đổi float sang int trong Objective-C
- 10. Nhân char và int với nhau trong C
- 11. đơn giản C++: Làm thế nào để quá tải toán tử nhân để float * myClass và myClass * float hoạt động
- 12. So sánh quan hệ giữa int và float có thể trực tiếp trong C?
- 13. Python: chuyển đổi 2 int thành 32 float
- 14. int để chuyển đổi float tạo ra một cảnh báo?
- 15. iPad, mã nhân vật JavaScript, và shiftKey
- 16. Fast float to int chuyển đổi và nổi điểm chính xác trên ARM (iPhone 3GS/4)
- 17. Sự khác nhau giữa con trỏ float và địa chỉ con trỏ int là gì?
- 18. Nhân hai số int dài dài C
- 19. So sánh `float` và` float64` trong python
- 20. Hành vi biên dịch lạ với các ký tự float và các biến float
- 21. C# Generics: cách sử dụng x.MaxValue/x.MinValue (int, float, double) trong một lớp chung
- 22. Có sự khác biệt về tốc độ trong thứ tự của int so với float không?
- 23. Chuyển đổi int thành 16bit float (một nửa điểm chính xác) trong C++
- 24. Cách nhận cảnh báo khi giá trị FLOAT được chèn vào cột INT trong MySQL?
- 25. sự khác nhau giữa 'Float a = 3f' và 'Float a = 3.0' trong java là gì?
- 26. Quy trình làm việc của Nhân sư và JavaScript
- 27. NaN trong nhân
- 28. Đúc null để Int và Double trong Scala
- 29. int xúc tiến để int unsigned trong C và C#
- 30. Hãy so sánh int và unsigned int
Không có 'int' hoặc' float' trong JavaScript. Mọi thứ đều là 'double'. Điều đó đang được nói, bạn đang tìm kiếm ['toFixed()'] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toFixed) nếu bạn muốn chuyển đổi giá trị của bạn thành một chuỗi. – Zeta
http://en.wikipedia.org/wiki/Floating_point – Sirko
Làm thế nào tôi có thể nhận được 0,45 kết quả cho phép nhân 0,15 và 3? –