Tôi đang gặp một số vấn đề với cách thức số vòng tròn PHP và javascript. Tôi đang sử dụng chức năng vòng PHP và chức năng javascript này:Javascript VS PHP làm tròn
function roundNumber(number, decimals) {
var newnumber = new Number(number+'').toFixed(parseInt(decimals));
var value = parseFloat(newnumber);
return value;
}
Số tôi đang cố gắng để làm tròn là 43,65 * 2,5 + 40% mà khi thực hiện bằng cách sử dụng máy tính = 152,775 hoặc khi làm tròn trong PHP = 152,78.
Trong javascript khi tôi làm một console.log số là 152,774999999998 và khi tròn với các chức năng trên mang lại cho tôi 152,77
Bất kỳ sự giúp đỡ để reslove vấn đề này được rất nhiều đánh giá cao
Đây là lý do tại sao chúng ta không sử dụng số dấu chấm động cho tiền tệ. –
http://stackoverflow.com/questions/5490687/broken-tofixed-implementation – mplungjan
Hãy chắc chắn rằng khi bạn sử dụng 'parseInt' mà bạn chỉ định một cơ số; thông thường bạn muốn làm việc trong cơ sở 10, vì vậy: 'parseInt (yourNumber, 10)'. – nnnnnn