VBS — Математические функции и конвертирование

Опубликовано Опубликовано в рубрике VBS

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ
Abs() — Возвращает абсолютное значение числа, т.е. его модуль.RA Grani

Abs(-2)=2

Exp() — Возвращает результат возведения числа e (основание натуральных логарифмов) в указанную степень.

Exp(2)=7.38905609893065

Fix() и Int() — Отбрасывают дробрную часть. Разница в их работе только при работе с отрицательными числами.

Fix(2.4)=2 ; Fix(2.6)=2 ; Fix(-2.4)= -2 ; Fix(-2.6)=-2

Int(2.4)=2; Int(2.6)=2 ; Int(-2.4)=-3 ; Int(-2.6)=-3

Round() — Округление с заданной точностью.

Употребление: Round(число, колвознаковпослезапятой)

Round(5.7846357 , 3) = 5.784 ; Round(5.7846357)=6; Round(5.22323)=5

Sgn() — Возвращает, отрицательное ли число, положительное или ноль

Если аргумент меньше 0, то функция возвращает -1, если больше 0, то возвращается 1 и, если агрумент равен 0, то функция возвращает 0.

Sqr() — Возвращает квадратный корень указанного числа

Sqr(4)=2

Log()  — Возвращает значение натурального логорифма числа. Натуральным логарифмом называют логарифм по основанию e.

Для вычисления логарифма числа x по основанию n следует разделить натуральный логарифм числа x на натуральный логарифм числа n: Logn(x) = Log(x) / Log(n)

Так же в наличии стандартные тригонометрические функции:

Sin() — Синус, Cos() — Косинус, Tan() — тангенс.

Atn() — Возвращает значение угла в радианах.

ПРЕОБРАЗОВАНИЕ ПЕРЕМЕННЫХ

Для преобразования переменных используются следующие функции: CBool(), CByte(), CCur(), CDate(),CDbl(), CInt(), CLng(), CSng(), CStr()

Как вы видите, запомнить их легко по типу переменной. Чтобы преобразовать одну переменную в другую (преобразовать — convert, отсюда первый символ всех функций C). Поэтому давайте разберёмся, какие типы переменных могут быть.

Мы можете спросить, а почему так поздно об этом пишу? А всё дело в том, что до этого это всё было бы бесполезной информацией. Точнее, не бесполезной, а информацией не вовремя. VBS использует переменные типа Variant, т.е. мы не обязаны указывать какого типа переменная, VBS сама определяет это. Нам типы важны лишь уже непосредственно для вычислений и каких-либо операций. Поэтому, давайте взглянем на таблицу ниже:

Empty Инициализация типа Variant. Содержит 0 для числовых значений и пустую строку (“”) для строковых значений.
Null Не содержит никаких значащих данных.
Boolean Логический тип, может принимать значения True (истина) или False (ложь)
Byte Целое число в диапазоне 0…255.
Integer Целое число в диапазоне -32768…32767
Currency Денежный тип, диапазон от -922337203685477,5808 до 922337203685477,5807.
Long Целое число в диапазоне -2147483648…2147483647
Single Число с плавающей точкой в диапазоне от -3.402823E38 до -1.401298E-45 для отрицательных значений и от 1.401298E-45 до 3.402823E38 для положительных значений.
Double Число с плавающей точкой в диапазоне от -1.79769313486232E308 до -4.94065645841247E-324 для отрицательных значений и от 4.94065645841247E-324 до 1.79769313486232E308 для положительных значений.
Date (Time) Числовое значение, которое представляет дату в диапазоне от 1-го января 100 года до 31 декабря 9999 года.
String Строка переменной длины, которая может быть длиной до 2 миллиардов символов.
Object Объект.
Error Код ошибки.

Есть ещё полезная функция  — TypeName()

Var1 = CInt(InputBox(«Введите значение»))

MsgBox TypeName(Var1)

После того, как вы введёте число вам будет выдано «Integer», т.к. было преобразование String в Integer(CInt).

Есть ещё целый набор функций для проверки значения переменной:

IsNumeric(), IsDate(),IsArray(), IsEmpty(), IsError(), IsMissing(), IsNull(), IsObject()

Все они возвращают либо True(верно) и False(не верно).

Т.е . если нам нужно проверить, число ли в переменной Num, то можно выполнить что-нибудь вроде IF IsNumeric(Num) THEN…