Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

2.9.4. Функции для работы с числовыми значениями

Числовые функции (numeric functions) в VBScript, Abs(), Int(), Fix(), Round(), Rnd() и команда Randomize, Sgn()

Функций для работы с числовыми значениями в VBA очень много. Используются они реже, чем строковые функции, но во многих ситуациях без них не обойтись.

Еще один момент: если вы программируете на языке VBA, то, скорее всего, на вашем компьютере установлен Microsoft Office с Excel. В Excel есть свой собственный мощный набор встроенных функций для работы с числовыми значениями, которые вполне доступны из VBA. Если вы в моем списке не найдете ничего подходящего для вашей ситуации, возможно имеет смысл воспользоваться функциями Excel.

Кроме того, если в окне Надстройки (меню Сервис | Надстройки) установить флажок напротив строки Пакет анализа, в Excel будет добавлен дополнительный набор аналитических научных и финансовых функций, а если в том же окне установить флажок напротив Analysis ToolPak — VBA, то эти функции станут доступны из VBA (только внутри Excel, в котором установлена эта надстройка).

Далее приведены только универсальные функции VBA для работы с числовыми значениями. Эти функции доступны из любых приложений VBA.

  • Abs() — эта функция возвращает абсолютное значение переданного ей числа (то же число, но без знака). Например, Abs(3) и Abs(-3) вернут одно и то же значение 3. Обычно используется тогда, когда нам нужно определить разницу между двумя числами, но при этом мы не знаем, какое число — первое или второе — больше. Результат вычитания может быть и положительным и отрицательным. Чтобы он был только положительным, используется эта функция.
  • Int(), Fix() и Round() — позволяют по разному округлять числа. Int() возвращает ближайшее меньшее целое, Fix() отбрасывает дробную часть, Round() округляет до указанного количества знаков после запятой. При этом Round() работает не совсем правильно, в чем легко убедиться:

MsgBox Round(2.505, 2)

Поэтому на практике для округления лучше использовать Format() (см. разд. 3.9.6):

MsgBox Format(2.505, "#,##0.00")

  • Rnd() и команда Randomize — используются для получения случайных значений (очень удобно, например, при генерации имен файлов). Обычный синтаксис при применении Rnd() выглядит так:

случайное_число = Int(минимум + (Rnd() * максимум))

MsgBox (Int(1 + (Rnd() * 100)))

Однако перед вызовом функции Rnd() необходимо выполнить команду Randomize для инициализации генератора случайных чисел.

  • Sgn() — позволяет вернуть информацию о знаке числа. Возвращает 1, если число положительное, -1, если отрицательное, и 0, если проверяемое число равно 0.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru