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美元的错误边际。显然,我错了。任何人都对我错在哪里有任何意见?
编辑: 我不会说附带的问题有我的答案。我已经肯定会用钱了,我只需要帮助计算价值。