jQuery, JavaScript - Как добавить десятичные числа? - PullRequest
4 голосов
/ 23 августа 2011

Я создал функцию после нажатия кнопки:

var cena_poczatkowa = parseFloat($("#cena_aktualna").text());
    var cena_dodana = cena_poczatkowa + 1.01;
    $("span#cena_aktualna").text(cena_dodana);

И span в html:

<span id="cena_aktualna">0.00</span>

Все работает нормально, после каждого клика номер меняется в диапазоне: 1.01, 1.02. Но после третьего щелчка я вижу 3.0300000000000002. После четвертого клика снова вижу правильно 4.04. Почему после третьего щелчка я вижу это странное число?

Вот мой рабочий скрипт, чтобы вы могли увидеть эту ошибку: http://jsfiddle.net/H3pfH/

1 Ответ

5 голосов
/ 23 августа 2011

Поскольку математика с плавающей запятой изначально неточна, попробуйте использовать toFixed () , чтобы округлить ее до подходящего числа цифр:

var cena_dodana = (cena_poczatkowa + 1.01).toFixed(4);

http://jsfiddle.net/H3pfH/1/

...