如何解释从float到numeric的以下结果?

时间:2015-12-16 16:13:11

标签: sql-server casting floating-point

DECLARE @f AS FLOAT = '29545428.022495';
SELECT CAST(@f AS NUMERIC(28, 14)) AS value;
29545428.02249500200000

今天我读过这个例子。我理解浮点数的问题,但不理解这个转换的结果。它是如何工作的?

更新

首先,我们可以在第一行替换varchar,结果将是相同的。

DECLARE @f AS FLOAT = 29545428.022495;

其次,我认为问题在于铸造。请尝试以下代码。

DECLARE @f AS FLOAT = 29545428.022495;
select @f - 29545428;
0,0224950015544891

最后可能是002的原因。 它适用于其他数字。

更新2

好的,我想我是以错误的方式理解它。 Here是一个相关的问题和答案。

0 个答案:

没有答案