#323

Монетарные значения должны быть целочисленными

Как известно, 0.2 + 0.1 = 0.30000000000000004. Казалось бы, можно округлить да и дело с концом. Но нет: НДС от суммы в счете и сумма НДСов счета запросто могут отличаться за счет ошибок округления.

Поэтому все денежные единицы стоит хранить и исчислять в целом количестве копеек и конвертировать в дробные доллары только на этапе показа пользователю. В базах это BIGINT. В js я делаю просто const amountHr = Math.floor(amount/100).toFixed(2).

С Satoshi посложнее, конечно.