我已经搜索并找不到答案。我仔细检查了 SQL 和 CLR 之间的数据类型,我似乎是正确的。但是我在使用 CLR 和 SQL 之间得到了不同的结果。不多,但足够花一分钱。这是不可接受的。
VB.NET 中的示例
Dim dLoanAmount As Decimal = 169500
Dim dNetDiscount As Decimal = 100.871
Dim dDiscountPremium As Decimal = (dLoanAmount * (dNetDiscount - 100.0) / 100.0)
Console.WriteLine("original amount is " + dDiscountPremium.ToString())
将显示 1476.34499999999
SQL 中的示例
DECLARE @loanAmt decimal (20,10)
DECLARE @discount decimal (20,10)
SET @loanAmt = 169500.000000
SET @discount = 100.871000
select @loanAmt*(@discount-100.0)/100.0
返回 1476.345000000000000
对于一些文件我们必须使用VB,但是对于一些文件传输我们使用sql。任何人有任何建议这是为什么?
干杯
鲍勃