Преобразование из varchar во float и другие типы с запятой

perplexed1
Дата: 08.02.2013 09:16:42
Столкнулся с очень неприятной и неожиданной проблемой преобразования чисел.

declare @a varchar(255)='3440.8466'
print CAST (@a as float)

на выходе: 3440.85

С real тоже самое. Пробовал и CAST и CONVERT и длину указывать... В чем тут дело? Нужно ли и как правильно в данном случае использовать decimal/numeric?
perplexed1
Дата: 08.02.2013 09:26:28
select вместо print и понятно, что только при выводе print'ом такой косяк... закрывайте)
Cygapb-007
Дата: 08.02.2013 09:30:37
обсуждалось на cyberforum.ru
declare @a varchar(255)='3440.8466'
select CAST (@a as float)
print  CAST (@a as float)
print  convert(nvarchar,CAST (@a as float),128)
iap
Дата: 08.02.2013 09:30:55
perplexed1
Нужно ли ... использовать decimal/numeric?
В большинстве случаев - да!