AlexanderBelov
@AlexanderBelov
Frontend developer

Как работать с подсчётом суммы товаров в Javascript?

Ситуация такова: есть товары, нужно работать с их стоимостью (сложение, вычитание, умножение).
Цена товаров указана в формате "Рубли.копейки"
Нагуглил, что, вроде бы, изначально нужно цену забивать в копейки, а потом е***ься типо всё *100 а результат /100 или что-то типа того.

Есть ли человеческий подход к решению?
Если у меня указана цена строкой, потом парсится в число (для правильного подсчёта), а потом снова выводится строкой ответ (для отображения в формате с пробелом типа "20 070.80"), как правильно поступить?

Примитивный пример, в какую дичь это может вылиться.
  • Вопрос задан
  • 1285 просмотров
Решения вопроса 1
Ваша ошибка в том, что вы сначала конкатинируете строки, а потом делаете parseInt(). В итоге коламбур и получается.

а потом е***ься типо всё *100 а результат /100


Что в этом сверхестественного? У JS проблемы с точностью дробной части. Это вам по-любому придется делать.

let one = parseFloat("10.77") * 100,
    two = parseFloat("5.89") * 100,
    three = parseFloat("20.04") * 100,
    view = document.getElementById("container");

let sum = (one + two + three) / 100;
console.log(sum)

view.innerHTML = sum.toFixed(2);


Разве вам кто-то запрещает использовать parseFloat()?

Бонус
Бонус номер 2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы