在查找SQL数据类型money和decimal之间的区别时,我遇到了一些帖子,这些帖子表明decimal(19,4)
最适合用来表示SQL Server中的货币
为什么需要小数点右边的四个位置?我认为只需要两个地方,因为钱被表示为
$23.47
$5.00
$4200.50
我不记得曾经看到钱代表
$23.4700
$5.0000
$4200.5000
答案 0 :(得分:1)
第一个也是最重要的规则:使用decimal data type,永远不要使用二进制浮点类型。
当执行完全舍入时,可以通过法规强制执行,例如在Euro and national currencies之间进行转换。
如果没有这样的规则,我会以高精度进行所有计算,并且仅用于呈现,即不使用舍入值进行进一步计算。这应该会产生最佳的整体精度。