Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Преобразование из varchar во float и другие типы с запятой  [new]
perplexed1
Member

Откуда:
Сообщений: 21
Столкнулся с очень неприятной и неожиданной проблемой преобразования чисел.

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

на выходе: 3440.85

С real тоже самое. Пробовал и CAST и CONVERT и длину указывать... В чем тут дело? Нужно ли и как правильно в данном случае использовать decimal/numeric?
8 фев 13, 09:16    [13895060]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование из varchar во float и другие типы с запятой  [new]
perplexed1
Member

Откуда:
Сообщений: 21
select вместо print и понятно, что только при выводе print'ом такой косяк... закрывайте)
8 фев 13, 09:26    [13895089]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование из varchar во float и другие типы с запятой  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
обсуждалось на 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)
8 фев 13, 09:30    [13895113]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование из varchar во float и другие типы с запятой  [new]
iap
Member

Откуда: Москва
Сообщений: 47083
perplexed1
Нужно ли ... использовать decimal/numeric?
В большинстве случаев - да!
8 фев 13, 09:30    [13895115]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить