Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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(a), CLng(a) - тупо отрубают жопу числу. По сути Int(a*100)/100 - округление в строну меньшего. А вообще, чтобы сравнивать два числа с заданной точностью юзай: Abs(a1 - a2) < 0.1 (модуль разности двух чисел меньше 0.1)

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 03.06.09 11:07
РРРРРРРРРРРРРР! Тупые смайлики!
  1. Int(a), CLng(a)

я имел ввиду)))

Ответить

Номер ответа: 3
Автор ответа:
 KiZ



Вопросов: 27
Ответов: 68
 Профиль | | #3 Добавлено: 03.06.09 13:50
да уж, а про модуль-то я и забыл... спасибо )

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам