【发布时间】:2015-12-07 21:53:00
【问题描述】:
在寻找 SQL 数据类型 money 和 decimal 之间的区别时,我遇到了几篇帖子,其中建议 decimal(19,4) 最适合在 SQL Server 中表示货币
为什么需要小数点右边的四个位?我认为只需要两个地方,因为钱表示为
$23.47
$5.00
$4200.50
我不记得曾经见过用
表示的钱$23.4700
$5.0000
$4200.5000
【问题讨论】:
-
阅读银行家的四舍五入你会知道为什么。这是one link,它说明了为什么只存储 2 个值可能会有问题。
-
4 个小数位是计算利息的金融应用程序的标准。出于实际目的,结果通常会四舍五入到小数点后 2 位。
-
感谢
Bankers Rounding的链接。如果我正在编写一个只处理两位小数的应用程序,即。$25.55,有没有理由使用四位小数?除了价格 x 数量 = 小计和额外的销售税之外,该应用程序不进行任何计算。 -
您是否检查过应用程序可能有什么样的合规性要求?可能有些人想要额外的数字。可能的例子是 PCI 和 SOX。
标签: sql-server decimal currency money-format