@FedOTs

Неверная конвертация в MSSQL 2008 r2 из float(6) в int ?

Обнаружил странную проблему в MSSQL
Выполняем код:
select CAST(cast(4.43 as float(6))*100 as int)
Результат 442 ???
При этом этот же код
select CAST(cast(5.43 as float(6))*100 as int)
Результат 543

Объясните пожалуйста где здесь логика ?
  • Вопрос задан
  • 2264 просмотра
Решения вопроса 1
@FedOTs Автор вопроса
Решено так
select CAST(round(cast(4.43 as float(6))*100,0) as int)

Но всё же остается вопрос. Почему MSSQL так странно конвертирует ?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы