Функция 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 и обратная связь.