Middle
70
Какой тип данных использовать для хранения денежных сумм, чтобы избежать ошибок округления?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Для хранения денежных сумм лучше использовать тип данных с фиксированной точностью, например, decimal или numeric (в зависимости от языка и СУБД). Эти типы хранят числа с точным представлением десятичных дробей и не подвержены ошибкам округления, характерным для чисел с плавающей точкой (float, double).
Пример на Python с использованием decimal:
from decimal import Decimal
price = Decimal('19.99')
tax = Decimal('0.07')
total = price + price * tax
print(total) # Выведет точное значение без ошибок округления
В базах данных, например, в PostgreSQL, для денежных сумм используют тип numeric(precision, scale), где precision — общее количество цифр, а scale — количество цифр после запятой.