Базовые типы данных и операции над ними, страница 3

Тип данных String является наиболее распространенным типом данных – практически ни одна программа не обходится без него. Большинство данных, вводимых пользователем в диалоговых окнах или ячейках рабочего листа Microsoft Excel, являются текстовыми строками. Кроме того, поскольку выводить на экран можно только текстовую информацию, то все данные, подлежащие выводу на экран, должны быть предварительно преобразованы (приведены) к типу String. Многие встроенные функции вывода, такие, например, как MsgBox, имеют аргументы типа String.

Над данными типа String можно выполнять два типа операций:

1.  конкатенацию, т.е. объединение (слияние, «склеивание») двух строк в одну, и

2.  сравнение.

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

Числовые типы данных являются следующими по частоте их использования в программах, и делятся они на две категории:

1.  для хранения величин, которые могут принимать только целые значения, – это Byte, Integer и Long, и

2.  для хранения величин, которые могут быть нецелыми, – это Currency, Single и Double.

В свою очередь, типы данных для хранения нецелых величин, могут быть:

1.  с фиксированной точкой, когда в нём заранее оговорено количество дробных разрядов, расположенных справа от точки, разделяющей целую и дробную части (Currency), и

2.  с плавающей точкой – когда количество цифр в целой и дробной частях заранее не оговорено (Single и Double).

Тип данныхByte (Байт) предназначен для хранения небольших положительных целых чисел в диапазоне 0÷255. Переменная типа Byte занимает 1 байт памяти.

Тип данных Integer (Целое) занимает 2 байта и предназначен для хранения целых чисел в диапазоне от ‑32,768 до 32,767. Операции с этим типом данных выполняются наиболее быстро.

Тип данных Long (Длинное целое) используется для хранения целых чисел в диапазоне от ‑2,147,483,648 до 2,147,483,647 и занимает 4 байта памяти.

Данные целых типов обладают целым рядом преимуществ:

r  они занимают мало памяти,

r  операции над ними выполняются наиболее быстро,

r  отсутствуют ошибки, связанные с округлением их значений.

Благодаря этому в программах они используются очень широко.

Тип данных Currency (Денежный) – это 8-байтовое целое число, разделенное на 10,000, и является форматом с фиксированной точкой, в котором слева от неё расположено 15 цифр, а справа – 4. Этот тип данных обеспечивает диапазон значений от ‑922,337,203,685,477.5808 до 922,337,203,685,477.5807 и используется, в основном, когда нужна особая точность, например, в случае с денежными вычислениями.

Тип данных Single (Одинарной точности с плавающей точкой) может содержать данные вещественного типа (real) в диапазоне от ‑3.402823Í1038 до ‑1.401298Í10‑45 для отрицательных значений, и от 1.401298Í10‑45 до 3.402823Í1038 для положительных значений, соответственно. Занимает такая переменная 4 байта памяти.

Тип данных Double (Двойной точности с плавающей точкой) занимает 8 байт памяти и содержит данные в диапазоне от ‑1.79769313486231Í10308 до ‑4.94065645841247Í10‑324 для отрицательных значений, и от 4.94065645841247Í10‑324 до 1.79769313486232Í10308 для положительных значений, соответственно.

Не смотря на то, что данные типа Single и Double имеют наибольший диапазон значений, они обладают и некоторыми недостатками:

1.  операции над ними выполняются гораздо медленнее, чем над данными целых типов,

2.  они подвержены ошибкам округления.

При отображении числовых данных (например, с помощью функции MsgBox), они автоматически преобразуются в текст.

Типданных Date (Календарный) предназначен для хранения даты и времени. Он занимает 8 байт памяти и представляет число с плавающей точкой, в котором целая часть используется для хранения даты, а дробная – времени.

Значения типа Date хранятся в виде абсолютной даты. Абсолютная дата – это количество дней относительно так называемой начальной даты30 декабря 1899 года. При этом отрицательные числа соответствуют датам до начальной даты, положительные – после, ну а 0 – самой начальной дате.

Допустимый диапазон значений для:

·  даты – от 1 января 100 года до 31 декабря 9999 года,

·  времени – от 00:00:00 до 23:59:59.

Значения типа Date отображаются (например, с помощью функции MsgBox) согласно, для:

·  дат – короткому формату,

·  времени – формату времени

установленному в операционной системе.

Поскольку переменные типа Date хранятся как числа с плавающей точкой, то над ними можно выполнять такие операции:

1.  складывать и вычитать – с числовыми величинами, а

2.  между собой – только:

a)  вычитать и

b)  сравнивать

Например, если нужно узнать разницу в днях между двумя датами – просто необходимо вычесть из одной даты другую. Аналогично, если к некоторой переменной типа Data прибавить, например, число 30, получится дата, на 30 дней позже содержащейся в переменной, а если вычесть – то раньше. В VBA имеется ряд функций, позволяющих манипулировать как с датами целиком, так и с отдельными их компонентами, такими как часы, минуты, дни, годы и т.д.

Тип данных Date в Visual Basic – это не то же самое, что дата в ячейке рабочего листа Microsoft Excel. В качестве начальной даты в Visual Basic используется 30 декабря 1899 года, а в Microsoft Excel, по умолчанию, – это 1 января 1900 года.

Тип данныхBoolean (Булевый, Логический) может принимать только одно из двух значений – True (Истина) или False (Ложь). Используется он, в основном, для хранения результатов сравнения. Сравнение – это операция, при которой сопоставляются две величины, такие, например, как числа, текстовые строки и т.д. При выводе логических данных с помощью функции MsgBox на экран дисплея они автоматически преобразуются в строковый тип, содержащий слово True или False.

При преобразовании числовых данных к типу Boolean 0 становится  False, все остальные значения – True. И, наоборот – при преобразовании типа Boolean в числовой тип, значение True становится -1, а False – 0.