为什么用小数表示钱时建议小数点后四位?

Why are four decimal places suggested when using decimal to represent money?

在寻找 SQL 数据类型 money 和 decimal 之间的区别时,我遇到了几篇帖子,这些帖子建议 decimal(19,4) 最好用于表示 SQL Server [=13] 中的货币=]

为什么需要小数点右边四位?我认为只需要两个地方,因为钱表示为

.47
.00
00.50

我不记得曾经见过用

表示的钱
.4700
.0000
00.5000

第一个也是最重要的规则:使用 decimal data type,永远不要使用二进制浮点类型。

什么时候应该进行精确舍入可以由规定强制执行,例如Euro and national currencies之间的转换它替换。

如果没有这样的规则,我会进行高精度的所有计算,并且只为了展示而四舍五入,即不使用四舍五入的值进行进一步的计算。这应该会产生最佳的整体精度。