- Курс-практикум «Педагогический драйв: от выгорания к горению»
- «Формирование основ финансовой грамотности дошкольников в соответствии с ФГОС ДО»
- «Патриотическое воспитание в детском саду»
- «Федеральная образовательная программа начального общего образования»
- «Труд (технология): специфика предмета в условиях реализации ФГОС НОО»
- «ФАООП УО, ФАОП НОО и ФАОП ООО для обучающихся с ОВЗ: специфика организации образовательного процесса по ФГОС»
Свидетельство о регистрации
СМИ: ЭЛ № ФС 77-58841
от 28.07.2014
- Бесплатное свидетельство – подтверждайте авторство без лишних затрат.
- Доверие профессионалов – нас выбирают тысячи педагогов и экспертов.
- Подходит для аттестации – дополнительные баллы и документальное подтверждение вашей работы.
в СМИ
профессиональную
деятельность
Совместимость типов данных VBA
Совместимость типов данных VBA
Не все типы данных совместимы друг с другом, и нельзя использовать несовместимые типы данных в одном и том же выражении. Например, нельзя произвести арифметическое сложение над числом и строкой. При обработке выражения, содержащего различные типы данных, VBA сначала пытается устранить любое различие типов, преобразуя значения в выражении в совместимые типы данных. Если устранить какие-либо различия преобразованием типов не удается, отображается ошибка времени исполнения и процедура прекращает выполняться.
VBA предоставляет различные функции для преобразования одного типа данных в другой (о них будет рассказано позже).
VBA использует различные правила для автоматического преобразования данных в совместимые типы. Как правило, большинство выражений, использующих разные типы данных, вызывают ошибку несовпадения типов только тогда, когда оба операнда в выражении имеют определенные и разные типы. Выражения не вызывают ошибку несовпадения типов, когда один из операндов является переменной типа Variant. VBA легче выполняет автоматические преобразования типов с данными типа Variant.
Преобразования численных типов
VBA преобразует численные типы данных в выражении в тип наибольшей точности, который затем дает результату выражения. Например, операндами выражения являются числа 10(Integer) и 20.89 (Single) - результат выражения будет иметь тип Single.
Но, если переменной типа Integer попытаться присвоить численное выражение типа Single, то VBA произведет округление до необходимой точности.
Преобразование строк и чисел
При преобразовании числа в строку VBA создает строку, содержащую все цифры этого числа и десятичный знак (если таковой имеется). Например, число 123.849 будет преобразовано в строку "123.849".
Если число очень большое или очень маленькое - VBA создаст строку в экспоненциальном виде. Например: 123000000 преобразуется в "123Е6".
Обратное преобразование возможно, если только строка содержит символьное представление числа в десятичном формате или экспоненциальном, при этом в качестве разделителя дробной части используется точка (но не запятая).
Преобразования Boolean
Когда VBA преобразует значения типа Boolean в числа, значение True преобразуется в 1, а False - в 0.
Когда происходит обратное преобразование, то VBA преобразует 0 в False, а любое другое число - в True.
Если происходит преобразование типа Boolean в строки, то VBA использует строку "True" для логического значения True и строку "False" - для False. Обратного преобразования строки в тип Boolean не предусмотрено.
Преобразование Date
Когда VBA преобразует тип данных Date в число, результатом является численное значение - число типа Double, которое содержит количество дней от 30 декабря 1899 (отрицательное число представляет дату, более раннюю чем 30 декабря 1899). Десятичная часть числа выражает время дня как часть дня; 0 - это полночь, 0.5 - это полдень.
Преобразование численных типов данных в типы Date является просто обратным преобразованию типа Date в число.
Следует запомнить:
Можно присваивать любую численную переменную (или выражение) любой другой переменной численного типа (или переменной типа Variant);
Если присваивается численное выражение типизированной переменной с меньшей точностью (например, Double - Long), VBA округляет значение выражения для совпадения с точностью переменной, принимающей новое значение;
Если переменной типа String присваивается переменная типа Variant, содержащая число, VBA автоматически преобразует это число в строку.
Оператор сложения (+)
Оператор сложения выполняет простое сложение. Оба операнда должны быть численными выражениями или строками, которые VBA может преобразовать в число. Оператор сложения можно также использовать для выполнения арифметических операций с данными типа Date.
Тип данных результата выражения сложения обычно тот же, что и наиболее точный тип в этом выражении. Но, есть исключения:
Результатом сложения типа Single и Long будет Double;
Результатом сложения типа Date с любым другим типом данных всегда будет Date;
Если результат превышает диапазон типа Integer, то VBA преобразует его в Long;
Если результат превышает типы Long, Single, Date, то VBA преобразует его в Double;
Если любой операнд в выражении сложения является Null, то результатом выражения сложения также будет Null.
Напомним порядок увеличения точности для численных типов данных: Byte, Integer, Long, Single, Double, Currency.
Следует сказать, что надо четко понимать как VBA преобразует типы данных в результате арифметических операций. Это поможет в дальнейшем избежать многих "ненужных" ошибок при написании кода.
Оператор вычитания (-)
Оператор вычитания выполняет две задачи: используется для вычитания одного числа из другого; обозначает унарный минус (это знак минус, который помещается пред числом для указания того, что это отрицательное число). Поместить унарный минус перед переменной или выражением означает то же, что умножить это число на -1.
Оба операнда в выражении вычитания должны быть численными переменными (выражениями) или строковыми выражениями, которое VBA может преобразовать в число. Можно использовать оператор вычитания для работы с датами.
VBA использует те же правила для определения типа данных результата выражения вычитания, что и для выражений, использующих оператор сложения. Но, есть дополнение:
Если оба операнда в выражении являются типом Date, то результат выражения будет иметь тип Double.
Оператор умножения (*)
Оператор умножения перемножает два числа - результатом выражения умножения является произведение двух операндов. Оба операнда в выражении умножения должны быть численными выражениями или строками, которые VBA может преобразовать в число.
VBA следует тем же правилам для определения типа данных результата выражения умножения, что и для выражений, использующих оператор сложения. В выражениях умножения все переменные Variant, которые содержат значения типа Date, преобразуются в численные значения.
Оператор деления (/)
Оператор деления с плавающей точкой выполняет обычное арифметическое деление своих операндов.
В выражениях деления первый операнд делится на второй операнд - результатом деления является частное.
Оба операнда в выражении деления с плавающей точкой должны быть численными выражениями или строками, которые VBA может преобразовать в число.
Если хотя бы один операнд в выражении деления имеет тип Null, то результат деления также будет Null.
Типом данных операции деления с плавающей точкой является Double, за исключением:
Оба операнда в выражении деления имеют тип Integer или Single - результат Single;
Если результат выражения не переполняет диапазон значений для типа Single.
Целочисленное деление (\)
Целочисленное деление отличается от деления с плавающей точкой тем, что его результатом всегда есть целое число без дробной части.
Оба операнда в выражении целочисленного деления должны быть численными выражениями или строками, которые VBA может преобразовать в число.
Перед выполнением операции целочисленного деления VBA округляет каждый операнд до числа типа Integer или Long (такой же тип имеет и результат целочисленного деления).
VBA отбрасывает (но не округляет!) любой дробный остаток результата выражения целочисленного деления. Например, выражения 22\5 и 24\5 будут иметь один и тот же результат = 4.
Если хотя бы один операнд в выражении целочисленного деления имеет тип Null, то результат деления также будет Null.
Деление по модулю (Mod)
Деление по модулю как бы дополняет целочисленное деление. В делении по модулю выражение возвращает только остаток операции деления как целое.
22 Mod 5 = 2
24 Mod 5 = 4
25 Mod 5 = 0
Остальные свойства деления по модулю идентичны целочисленному делению.
Возведение в степень (^)
Оператор возведения в степень возводит число в степень.
5 ^ 3 =125
Оба оператора в выражении возведения в степень должны быть численными выражениями или строками, которые VBA может преобразовать в числа.
Операнд слева от оператора возведения в степень может быть отрицательным числом только, если операнд справа является целым.
Результат выражения имеет тип Double.
Если хотя бы один операнд в выражении имеет тип Null, то результат возведения в степень также будет Null.
top
Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/264699-sovmestimost-tipov-dannyh-vba
БЕСПЛАТНО!
Для скачивания материалов с сайта необходимо авторизоваться на сайте (войти под своим логином и паролем)
Если Вы не регистрировались ранее, Вы можете зарегистрироваться.
После авторизации/регистрации на сайте Вы сможете скачивать необходимый в работе материал.
- «Организация работы с детьми-инофонами в предшкольном образовании»
- «Содержание требований ФОП ООО, ФОП СОО и ФАООП УО: организация образовательного процесса обучающихся по ФГОС»
- «Обучение мерам пожарной безопасности для руководителей организаций, лиц, назначенных руководителем организации ответственными за обеспечение пожарной безопасности, в т.ч. в обособленных структурных подразделениях»
- «Обучение биологии с учётом требований ФГОС ООО от 2021 года»
- «Организация профориентационной работы с детьми»
- «Преподавание фортепиано в детской музыкальной школе и школе искусств»
- Особенности обучения предмету «Труд (технология)»
- Основы менеджмента в образовательной организации
- Основы дефектологии. Содержание и методы работы с обучающимися с ОВЗ
- Организация досуговых мероприятий и развитие социального партнёрства в дополнительном образовании детей
- Теория и методика дополнительного образования детей
- Профессиональная деятельность педагога-организатора. Обеспечение реализации дополнительных общеобразовательных программ

Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.