使用十进制代表钱时,为什么建议使用四位小数?

时间:2015-12-07 21:53:00

标签: sql-server decimal currency money-format

在查找SQL数据类型money和decimal之间的区别时,我遇到了一些帖子,这些帖子表明decimal(19,4)最适合用来表示SQL Server中的货币

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

$23.47
$5.00
$4200.50

我不记得曾经看到钱代表

$23.4700
$5.0000
$4200.5000

1 个答案:

答案 0 :(得分:1)

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

当执行完全舍入时,可以通过法规强制执行,例如在Euro and national currencies之间进行转换。

如果没有这样的规则,我会以高精度进行所有计算,并且仅用于呈现,即不使用舍入值进行进一步计算。这应该会产生最佳的整体精度。