Полная точность вывода типов с плавающей запятой в SQL Server Management Studio

У меня есть значение 1555.4899999999998 , сохраненное в столбце float с точностью по умолчанию (53). Когда я делаю простой select , SSMS округляет вывод, а не печатает его со всей доступной точностью. В последнее время у меня возникли некоторые проблемы, так как напечатанное значение не работает как литерал с плавающей запятой , чтобы соответствовать фактическому сохраненному значению.

Например (обратите внимание, что оба этих числа имеют точное представление в float по умолчанию),

declare @f1 float
declare @f2 float
set @f1 = 1555.49
set @f2 = 1555.4899999999998
select @f1, @f2
select STR(@f1,30,15), STR(@f2,30,15)

Выходы:

1555.49 1555.49
1555.490000000000000    1555.489999999999800

В Query Analyzer первый выбирает выходы :

1555.49 1555.4899999999998

Это то поведение, которое я хочу получить от Management Studio. Есть ли способ предотвратить округление SSMS при отображении результатов?

8
задан Simon 11 November 2011 в 20:30
поделиться