Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA Л19 Л20.docx
Скачиваний:
5
Добавлен:
02.12.2018
Размер:
254.92 Кб
Скачать

Функции преобразования типов данных

Функции преобразования реализуют преобразование данных из одного типа в другой.

Функция Val. Часто необходимо преобразовать строковое значение в числовое значение. Это можно сделать с помощью функции Val, аргументом которой является строка, а значением — число:

Val (Строка$)

Например, значением Val ("2000") является число 2000. Часто эта функция применяется для преобразования строкового значения функции InputBox в число, которое затем используется в арифметических выражениях.

Пример. Вычислить гипотенузу прямоугольного треугольника. Произвольные значения катетов вводятся с клавиатуры.

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

Dim strA, strB As String, dblA, dblB, dblC As Double

Sub Command1_Click()

strA = InputBox ("Первый катет:", "Катет А")

strB = InputBox ("Второй катет:", "Катет В")

dblA = Val (strA)

dblB = Val (strB)

dblC = Sqr (dblA^2 + dblB^2)

Form1.Print "Гипотенуза равна:", dblC

End Sub

Возможен также следующий вариант записи программы:

Dim dblA, dblB, dblC As Double

Sub Command1_Click()

dblA = Val (InputBox ("Первый катет:", "Катет А"))

dblB = Val (InputBox ("Второй катет:", "Катет В"))

dblC = Sqr (dblA^2 + dblB^2)

Form1.Print "Гипотенуза равна:", dblC

End Sub

Важно, что строковое выражение числа может быть задано не только в десятичной, но также восьмеричной Val ("&O3720") и шестнадцатеричной Val ("&H7DO") системах счисления. Появляется возможность перевода чисел, выраженных в строковой форме, из десятичной, шестнадцатеричной и восьмеричной систем счисления в десятичную систему счисления.

Таким образом, можно складывать числа в различных системах счисления, например:

Sub Command1_Click()

Form1.Print Val ("2000") + Val ("&H7DO") + Val ("&03720")

End Sub

Функции Str, Hex, Oct. Функция Str осуществляет обратное преобразование, т.е. преобразование числа в строку. Аргументом функции является число, а значением — строка:

Str (Число)

Например, значением Str (2000) является строка "2000". Данная функция часто применяется для преобразования чисел в строки для их вывода на панель сообщений с помощью функции MsgBox.

В рассмотренной выше программе вычисления гипотенузы можно ее значение не печатать на форме, а выводить с помощью панели сообщений. Для этого строку программы, содержащую метод Print необходимо заменить на строку:

MsgBox Str (dblC), , "Гипотенуза С равна"

Функции Hex и Oct позволяют производить преобразование десятичных чисел в шестнадцатеричные и восьмеричные числа в строковой форме.

Sub Command1_Click()

Form1.Print Hex (2000), Oct (2000)

End Sub

Функция Asc. Функция Asc осуществляет преобразование строки в числовой код первого символа. Аргументом функции является строка, а значением — число:

Asc (Строка$).

Например, значением функции Asc ("Э") является числовой код символа 221. Программа, реализующая преобразование символа и печать его кода, приведена ниже:

Dim bytA As Byte

Sub Command1_Click()

bytA = Asc ("3")

Form1.Print bytA

End Sub

Функция Chr. Функция Chr осуществляет преобразование числового кода в символ. Аргументом функции является число, а значением — символ:

Chr (Число)

Например, значением функции Chr (221) является символ «Э». Программа, реализующая преобразование кода символа в символ приведена ниже:

Dim strA As String

Sub Command1_Click()

strA = Chr (221)

Form1.Print strA

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]