Читаем VBA для чайников полностью

Функции Fix и intотбрасывают дробную часть любого заданного им числа, возвращая целое число. Но, в отличие от функций CInt и CLng, они не выполняют привычного округления - например, int(4 . 98 9) возвращает 4, а не 5.

Результаты этих двух функций отличаются только при обработке отрицательных чисел.

Тогда intвозвращает ближайшее к значению аргумента меньшее целое число, a Fix просто отбрасывает дробную часть аргумента.

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

Возможность явного конвертирования в обратном направлении в VBA не предусмотрена, но зато вы можете напечатать буквальные шестнадцатеричные или восьмеричные значения и позволить редактору Visual Basic превратить их в десятичные автоматически. При этом любой шестнадцатеричный или восьмеричный литерал должен предваряться специальным кодом: шестнадцатеричный – кодом &Н, а восьмеричный - кодом &О (это буква О, а не цифра 0). Например, в результате выполнения оператора intBas es = 10+&О12 + &НА значением переменной intBases будет число 30, как и должно быть (это очевидно).

Некоторые функции VBA конвертируют числа в строки. К таким функциям относятся следующие.

* CStr. Превращает данные любых типов (кроме типа Object ), включая числовые, в соответствующую им строку. Вывод форматируется в соответствии с установками заданными в панели управления Язык и стандарты Windows. Например, во Франции CStr ( 200.02) на выходе выдаст строку "200, 02". Здесь следует заметить, что хотя результирующая строка и соответствует региональным установкам, подаваемые на вход числовые данные должны быть представлены в формате, соответствующем английскому языку США.

* Str. Конвертирует число в строку, но всегда форматирует строку в соответствии со стандартом английского языка США с точкой в качестве десятичного разделителя.

* Функции конвертирования в числовые типы данных. Конвертируют строки в соответствующие числовые значения, но только тогда, когда все символы в строке распознаются как допустимые для чисел. В данном случае тоже все зависит от установок в панели управления. Например, в России CDbl ("200, 02р. ") в результате дает 200, 02; в США тот же оператор порождает ошибку, но CDbl ( "$200 . 02" ) прекрасно работает.

* Val. Конвертирует числа в строках в числовые значения, останавливаясь там, где встречается первый символ, недопустимый для чисел. Независимо от установок панели управления, распознает только цифры и десятичную точку (а не запятую, например). Однако игнорирует пробелы, символы табуляции и переходы на новую строку.

Так, выражение Val ("28 190.43 12 by 14 ") в результате даст 28190,4312.

Chr. Конвертирует числовой ANSI-код в соответствующий символ. Используйте эту функцию, когда в строку нужно поместить символ, который нельзя напечатать.

Asc. Примерно соответствует обратной к функции Chr - возвращает числовой код первого символа в строке.

<p>Работа со строками</p>

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

Таблица 11.3. Операторы и функции для обработки строк

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

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных