но за удобство записи и хранения в памяти float жестоко расплачивается точностью. тк это приближение сумма двух float чисел 0.1 и 0.2 дает "хвост". при расчетах этот хвост попадает под понятие погрешность но в финансах такие хвосты могут создавать неприятные побочки, например если забить в питоне 0.2 + 0.1 == 0.3 интерпретатор выдаст false, потому что 0.1+0.2 = 0.3000000000131

чтобы решить эту проблему придумали тип данных decimal. decimal хранит число как массив знаков и положение разделителя. то есть decimal(10,2) хранит 10 значные числа и при выводе разделяет их точкой со сдвигом в 2

[184]