Функция Val
Возвращает числа, содержащиеся в строке, как числовое значение соответствующего типа.
Синтаксис
Val(string)
Обязательный строковыйаргумент — это любое допустимое строковое выражение.
Замечания
Функция Val останавливает чтение строки в первом символе, который не может быть распознан как часть числа. Символы и знаки, которые обычно считаются частью числа (например, знак доллара и запятая), не распознаются.
Однако функция распознает префиксы &O
радикса (для восьмерицы) и &H
(для шестнадцатеричных). Пробелы, символы табуляции и знаки перевода строк удаляются из значения аргумента.
В следующем примере возвращается значение 1615198:
Val(" 1615 198th Street N.E.")
В следующем коде Val возвращает десятичное значение -1 для показанного шестнадцатеричного значения:
Val("&HFFFF")
Примечание.
Функция Val распознает только точку ( . ) в качестве допустимого десятичного разделителя. При использовании различных десятичных разделителей (например, в национальных версиях приложений), используйте CDbl для преобразования строки в число.
Пример
В этом примере функция Val возвращает числа, содержащиеся в строке.
Dim MyValue
MyValue = Val("2457") ' Returns 2457.
MyValue = Val(" 2 45 7") ' Returns 2457.
MyValue = Val("24 and 57") ' Returns 24.
Примечание.
Функция Val распознает устаревшие суффиксы типа данных до преобразования и может привести к ошибке несоответствия типов. Например, пятьдесят процентов, представленных как строка "50%", преобразуются, как ожидается, в 50, но Val("50,5%") вызовет ошибку, так как символ процента рассматривается как суффикс для объявления типа данных в виде целого числа, которого в данном случае нет. Полный список суффиксов типа данных включает в себя single ( ! ), currency ( @ ), double ( # ), string ( $ ), Integer ( % ), Long ( & ) и LongLong ( ^ ) для 64-разрядных узлов.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.