1

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

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

$23.47
$5.00
$4200.50

我不记得曾经见过金钱代表

$23.4700
$5.0000
$4200.5000
4

1 回答 1

2

第一条也是最重要的规则:使用十进制数据类型,永远不要使用二进制浮点类型。

何时应进行精确舍入可由法规强制执行,例如欧元与它所取代的本国货币之间的转换。

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

于 2015-12-07T23:14:21.927 回答