我要求资深金融程序员提供最佳实践。
例如PSUDO代码:
class Transaction(Model):
order = ForeignKey()
amount = DecimalField()
type = 'refund' or 'purchase'
如果以负数存储退款,那么我只需运行所有交易的sum()
即可获得余额,数学运算会变得有点原生。
如果以正数存储退款,那么它对purchase - refund = balance
这样的公式更加人性化,我也不需要反转以在模板中显示正数退款。
我应该选哪一个才能获得最大的收益和更少的陷阱?
答案 0 :(得分:3)
一种方法是将amount
字段保存为正数,将另一个字段保存为signedAmount
,以保存其签名版本。因此,当您想要显示或记录它时,请使用amount
,如果您想将其包含在计算中,请使用signedAmount
。