Страница: 1 |
Страница: 1 |
Вопрос: Округление
Добавлено: 03.06.09 11:02
Автор вопроса: KiZ
Забавная ситуевина у меня получилась. Есть две книги. В одной из них в ячейке содержится число в формате с двуми знаками после запятой, и реально там только две знака. А в другой книге формула это же число, но построено допустим так: 0.537*0.9. По сути дела и там и там, если брать Округление до 2ого знака, то числа одинаковые.
Я беру условие Round( ,2)=Round( ,2) и проверяю на равенство. Засада в том, что если число оканчивается на
*,55, а посчитанное число допустим *,549 То условие
Round( ,2)=Round( ,2) дает ложь.
Вот собственно мой вопросик, есть ли другие функции, которые могут адыкватно округлять? А может надо загонять посчитанное число в какую-нить переменную до 2ого знака... или вообще как - то по другому условие строить?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 03.06.09 11:07
Int, CLng - тупо отрубают жопу числу. По сути Int(a*100)/100 - округление в строну меньшего. А вообще, чтобы сравнивать два числа с заданной точностью юзай: Abs(a1 - a2) < 0.1 (модуль разности двух чисел меньше 0.1)
Номер ответа: 2
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #2
Добавлено: 03.06.09 11:07
РРРРРРРРРРРРРР! Тупые смайлики!
я имел ввиду)))
Номер ответа: 3
Автор ответа:
KiZ
Вопросов: 27
Ответов: 68
Профиль | | #3
Добавлено: 03.06.09 13:50
да уж, а про модуль-то я и забыл... спасибо )