企业应用程序中的十进制舍入策略

Den*_*dic 3 c# database enterprise rounding

好吧,我想知道一个带小数舍入的东西,并将它们存储在DB中.

问题是这样的:

假设我们有客户和发票.

发票的总价格为100.495美元(由于某些折扣百分比不是整数),但显示为$ 100.50(四舍五入时,仅用于在发票上打印).它以100.495美元的价格存储在DB中,这意味着当客户存入100.50美元的存款时,该帐户将额外支付0.005美元.如果这是四舍五入的,它将显示为$ 0,但是在几张发票后它将继续累积,这看起来是错误的(尽管实际上并非如此).

在这种情况下最好做什么.存储价值100.50美元,或保持原样?

Joh*_*ohn 5

您应该将数字完全按照您想要的数量存储在其余额中.

你实际上是在给客户收取半分钱吗?如果是,则应该反映在DB条目中.如果你不是,那就不应该.

但除非我每天发布应计利息(例如Prosper.com),否则我会坚持使用人们可以支付(或退出)的货币单位.