我要求资深金融程序员提供最佳实践。
例如 PSUDO 代码:
class Transaction(Model):
order = ForeignKey()
amount = DecimalField()
type = 'refund' or 'purchase'
如果以负数存储退款,那么我可以简单地运行
sum()
在获得余额的所有交易中,数学运算变得有点原生。如果以正数存储退款,那么像
purchase - refund = balance
这样的公式更人性化,我也不需要反转以在模板中显示正的退款金额。我应该选择哪一个才能获得最大的好处和更少的陷阱?
最佳答案
一种方法是使用 amount
将值保持为正值的字段和另一个字段,如 signedAmount
保存它的签名版本。因此,当您想显示或记录它时,请使用 amount
,当您想将其包含在计算中时,您可以使用 signedAmount
.
关于finance - 我应该以正数还是负数存储退款记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30180230/