В бэкэнде (Node.js) я сохраняю свои цены в центах (* 100) и всегда без НДС.
Однако на внешнем интерфейсе мы бы хотели, чтобы пользователь мог определять свои цены, включая НДС.
Итак, что мы делаем следующим образом:
Цена с НДС: 10,00
Формула с НДС: (10*100)/1.21
, что дает 826.4462809917355
Математическая оценка: 826
826
- это цена без НДС, которую мы сохраняем в базе данных.
Но когда мы добавляем к ней НДС (21%), получается:
(826/100)*1.21
, которая станет 999.4599999999999
.
Math.round составляет 999.
Так, когда наши пользователи заполняют 10,00 в качестве цены с НДС. Это будет 9,99