我在查询中通过了 AmountDue 以下,但得到了错误的结果。AmountDue 数据类型是浮点数。
AmountDue: 2412880.28
AmountDue: 561.06
我的查询:
select CONVERT(varchar,(select convert(bigint,AmountDue*100)))
from dbo.tblBidResults
我得到以下错误的结果:
241288027
56105
正确结果:
241288028
56106
我在查询中通过了 AmountDue 以下,但得到了错误的结果。AmountDue 数据类型是浮点数。
AmountDue: 2412880.28
AmountDue: 561.06
我的查询:
select CONVERT(varchar,(select convert(bigint,AmountDue*100)))
from dbo.tblBidResults
我得到以下错误的结果:
241288027
56105
正确结果:
241288028
56106
尝试转换为数字而不是 bigint:
DECLARE @temp float
set @temp = 2412880.28
SELECT CONVERT(varchar,(CONVERT(numeric(27,0),@temp*100)))
有一个很好的帖子在这里讨论了这个原因。
DECLARE @temp float
set @temp = 2412880.28
select convert(varchar,convert(decimal(9,0),@temp*100))