Mam pewne problemy ze sposobem, w jaki PHP i javascript zaokrągla liczby. Używam okrągły funkcję PHP i tę funkcję javascript:JavaScript VS zaokrąglanie PHP
function roundNumber(number, decimals) {
var newnumber = new Number(number+'').toFixed(parseInt(decimals));
var value = parseFloat(newnumber);
return value;
}
Liczba próbuję runda 43.65 * 2,5 + 40%, co kiedy odbywa się za pomocą kalkulatora = 152,775 lub po zaokrągleniu w PHP = 152.78.
w JavaScript, gdy robię console.log liczba jest +152,774999999998 i po zaokrągleniu z powyższej funkcji daje mi 152,77
Każda pomoc do reslove ten problem jest bardzo ceniona
To dlaczego nie używać liczb zmiennoprzecinkowych na waluty. –
http://stackoverflow.com/questions/5490687/broken-tofixed-implementation – mplungjan
Upewnij się, że używasz 'parseInt', który określasz podstawnik; zwykle chcesz pracować w bazie 10, więc: 'parseInt (yourNumber, 10)'. – nnnnnn