- •Лекция 4.Преобразование типов данных. Процедуры и функции. Типы операторов. Состав проекта Назначение типов данных
- •Преобразование типов данных
- •Преобразование числовых типов данных
- •Currency
- •Строковые переменные
- •Строки изменяемой и фиксированной длины
- •Преобразование числовых данных в строковые
- •Boolean
- •Форматирование данных
- •Процедуры и функции
- •Аргументы
- •Примеры процедур
- •Функции
- •Обзор типов операторов
- •Операторы объявления
- •Операторы присваивания (инициализации)
- •Выполняемые операторы
- •Параметры компилятора
- •Состав проекта
Лекция 4.Преобразование типов данных. Процедуры и функции. Типы операторов. Состав проекта Назначение типов данных
Рациональное назначение типов данных:
для хранения целых чисел – Byte, Integer, Long;
для хранения чисел с плавающей точкой и показателем степени, имеющих до 15 значащих цифр – Single, Double;
при вычислениях с большими числами, когда требуется большая точность, чем та, которая обеспечивается типами данных с плавающей точкой - Currency.
Тип Variant, хотя и нерационален, но может использоваться, когда неизвестен тип переменной или когда требуется максимально допустимая в VB точность вычислений.
Преобразование типов данных
Как правило, VB автоматически конвертирует данные одних типов в другие.
Когда же автоматическое конвертирование вас не устраивает, то существуют функции явного преобразования. Эти функции можно использовать для того, чтобы:
быть уверенным, что выполняется именно то преобразование, которое нужно;
выполнить преобразования, которые не выполняются в VB автоматически;
сделать свой код яснее.
Преобразование числовых типов данных
Для конвертирования выражений в каждый из следующих типов числовых данных используется своя функция: CBool, CByte, CInt, CLng, CDbl, CCur и т. п.
При этом функции конвертирования в числовые типы данных конвертируют строки в соответствующие им числовые значения, но тогда, когда символы в строке распознаются как допустимые для чисел.
Все зависит от установки на панели управления, например, в России CDbl ("200,02р.") в результате дает 200,02, а в США тот же оператор дает ошибку, зато работает оператор CDbl ("$200.02").
Функция Val конвертирует числа в строках в числовые значения, останавливаясь там, где встречает первый символ, недопустимый для чисел, независимо от установок распознает только цифры и десятичную точку (а не запятую), однако игнорируют пробелы, символы табуляции и переходы на новую строку. Так выражение Val("28 190.43 12 by 14") в результате даст 28190.4312.
Currency
Переменные типа Currency полезны не только в случаях, когда вы имеете дело с деньгами, а именно:
при хранении больших чисел, выходящих за границы диапазона, допустимого для целых чисел типа Long;
при вычислениях с большими числами, когда требуется большая точность, чем та, которая обеспечивается типами данных с плавающей точкой.
Таким образом, при большой точности вычислений (до 19 значащих цифр) используется Currency, а если точность ещё больше - до 29 значащих цифр, то применяется вспомогательный тип – Decimal (он существует только как возможное значение типа Variant).
При вычислениях необходимо учитывать, что результатвычислений можетпотребоватьбольшейемкости, чем емкость переменных-операндов, и емкость самих операндов тоже должна выбираться с запасом, иначе в результате вычислений возникнет ошибка.
Date
Dim dateWeddingDay As date, dateTimeOfCeremony As Date
dateWeddingDay = #4/20/99#
dateTimeOfCeremony = #3:15:00 PM#
VBавтоматически отображает дату и время в формате, соответствующем формату страны, т. е. для США это будет «April, 20, 1999», а для России – «20 апреля 1999 г.».
Если вы не добавите год, компьютер добавит год за вас.
Время до полудня – AM, а после полудняPM. Печатать незначащие нули необязательно. Можно ввести только секунды #0:0:23#, аVBизменит это значение на #12:00:23AM#, а если ввести #23:0:0#, тоVBизменит его на #11:00:00PM#.