SQL Server Money在计算后会给出错误的值

时间:2015-01-21 10:06:05

标签: sql-server currency

Money似乎有一个固定的精度,总是有4位小数。这导致我的问题因为我可以说我有一个待售物品表,如下所示

create table #example (
   id int,
   name varchar(50),
   price money
)

如果#example中的money列是VAT和VAT值之前的价格是8%,则4位小数可能不够。在下面的示例中,我使用的物品价格为11usd(在增值税前)

insert into #example (id, name, price) values (1, 'asd', 11/1.08)

现在从#example中选择一个:

id  name price
1   asd 10,1852

如果我想用这个价格来添加增值税,我会得到错误的值:

10.1852*1,08 = 11,000016

这留下了0,000016美元的错误边际。显然,我错了。任何人都对我错在哪里有任何意见?

编辑: 我不会说附带的问题有我的答案。我已经肯定会用钱了,我只需要帮助计算价值。

0 个答案:

没有答案