我有一个捐款网页,人们可以在这个网页上指明他们捐赠的百分比是多少捐给慈善机构。我已经进行了验证,以确保它们不能分配超过100%。这可以正常工作,直到人们添加小数值。
百分比作为浮点数存储在SQL数据库中,我使用以下存储过程引入可用于分配的总百分比。
SELECT giftid, SUM(percentage) totalPercentage
FROM dbo.giftFundArea
WHERE giftid = @giftid
GROUP BY giftid
我的页面查看存储过程并使用以下代码访问该值。
Dim percentageAllocated As Double = myReader.GetDouble(myReader.GetOrdinal("totalPercentage"))
当我在Managememt Studio中运行存储过程时,我发现为特定礼物分配的总百分比是33.4%但是当我调试我的页面时,我看到percentageAllocated的值为33.400000000000006%。
这显然是在放弃我的验证。
有人可以建议我如何阻止这种错误的转换吗?
提前致谢。