Re[2]: SELECT ROUND(0.045, 2) FROM ... надо 0.05 а не 0.04
От: surovi  
Дата: 14.06.06 09:59
Оценка:
Здравствуйте, DarkSid, Вы писали:

DS>В свое время мне помогло так

DS>SELECT SUM(ROUND((DateDiff("n", StartTime, EndTime)/60)*Rate + 0.000001, 2)) AS Total

Да, действительно, такой вариант решит проблему, но, к сожалению, не со 100% гарантией, т.к.
если округление будет зависеть от седьмого знака после запятой, то округлиться неправильно.
Например число 0.4444441 -> ROUND(0.4444441, 2) = 0.44
А если так 0.4444441 + 0.000001 = 0.4444451 -> ROUND(0.4444451, 2) = 0.45
т.е. получаются разные числа, конечно можно еще увеличить точность, до восьми знаков после запятой или больше, но опять же это не дает 100% гарантии.

Но все-равно спасибо за вариант.
Может быть есть еще предложения
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.