Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Abu Antos' ([info]syarzhuk)
@ 2006-04-13 11:01:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:code, sql

SQL Server stinks!
SELECT Round(59999.0 * 0.155,2)
9299.8500 - correct

SELECT Round(Cast(59999.0 as money) * Cast(0.155 as float),2)
9299.8400000000001 - wrong!

Fix:
SELECT Round(Cast(Cast(59999.0 as money) * Cast(0.155 as float) as money) ,2)



(Добавить комментарий)


[info]idealcapture@lj
2006-04-13 12:39 (ссылка)
Задолбаешься ж потом дебагить...

(Ответить) (Ветвь дискуссии)


[info]syarzhuk@lj
2006-04-13 12:43 (ссылка)
Лучше лишний каст, чем потерянный цент

(Ответить) (Уровень выше)