Middle
Koji tip podataka koristiti za skladištenje novčanih iznosa kako bi se izbegle greške zaokruživanja?
sobes.tech АИ
Одговор од АИ
Для хранения денежных сумм лучше использовать тип данных с фиксированной точностью, например, 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 — количество цифр после запятой.