Проверяет понимание выбора типа данных для хранения денежных значений и связанных с этим рисков.
Хранение денежных сумм в виде чисел с плавающей точкой (например, FLOAT или DOUBLE) может привести к ошибкам округления из-за двоичного представления. Например, 0.1 + 0.2 в JavaScript даёт 0.30000000000000004. Чтобы избежать таких проблем, часто используют целые числа, храня сумму в минимальных единицах валюты (копейках, центах). Это гарантирует точность всех арифметических операций.
// Хранение баланса в копейках
let balanceInKopecks = 150000; // 1500 рублей
// Пополнение на 50 рублей 50 копеек
balanceInKopecks += 5050;
// Вывод в рублях
console.log((balanceInKopecks / 100).toFixed(2)); // "1550.50"Использование INTEGER для денег — стандартная практика в финансовых системах, банковских приложениях и интернет-магазинах. Это гарантирует корректность расчётов и защищает от ошибок округления. Если суммы могут превысить диапазон INTEGER, стоит использовать BIGINT или DECIMAL.
Итог: INTEGER для баланса — надёжный способ хранить деньги точно, но требует аккуратности с диапазоном и форматированием при выводе.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
SQL
Ключевые слова
Подпишись на Node.js Developer в телеграм