Как в vba excel преобразовать строку в число
Перейти к содержимому

Как в vba excel преобразовать строку в число

Преобразование значений между строковыми и другими типами (Visual Basic)

Можно преобразовать числовое значение типа, Boolean или значения даты и времени в String . Можно также преобразовать в обратном направлении — от строкового значения к числовому, Boolean или Date — при условии, что содержимое строки может интерпретироваться как допустимое значение целевого типа данных. Если они не могут, возникает ошибка времени выполнения.

Преобразования для всех этих назначений в любом направлении представляют собой сужающие преобразования. Следует использовать ключевые слова преобразования типов (. CBool CByte . CDate CDbl CDec CInt CLng CSByte CShort CSng CStr CUInt , CULng , CUShort и CType ). FormatФункции и Val предоставляют дополнительный контроль над преобразованиями между строками и числами.

Если вы определили класс или структуру, можно определить операторы преобразования типов между String и типом класса или структуры. Дополнительные сведения см. в разделе How to: Define a Conversion Operator.

Преобразование чисел в строки

Функцию можно использовать Format для преобразования числа в отформатированную строку, которая может включать не только соответствующие цифры, но и символы форматирования, такие как знак валюты (например $ ,), разделители тысяч или символы группирования цифр (например,), , и десятичный разделитель (например,) . . Format автоматически использует соответствующие символы в соответствии с региональными параметрами, заданными на панели управления Windows.

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

Преобразование строк в числа

Функцию можно использовать Val для явного преобразования цифр из строки в число. Val считывает строку, пока не встретится символ, отличный от цифры, пробела, табуляции, перевода строки или точки. Последовательности "&O" и "&H" изменяют основание системы счисления и завершают сканирование. До тех пор пока не будет остановлено чтение, Val преобразует все соответствующие символы в числовое значение. Например, следующая инструкция возвращает значение 141.825 .

Val(" 14 1.825 miles")

Когда Visual Basic преобразует строку в числовое значение, она использует региональные параметры , заданные на панели управления Windows, для интерпретации разделителя групп разрядов, десятичного разделителя и символа валюты. Это означает, что преобразование может быть выполнено в одном параметре, но не в другом. Например, "$14.20" допустим в английской (США) национальной настройке, но не на французском языке.

Как в vba excel преобразовать строку в число

Функция CInt(Conversion to Integer) используется для приведения выражения в тип Integer
Возвращаемое значение

Функция CInt возвращает значение аргумента, преобразованное в числовой целый тип данных Integer. Дробная часть при этом округляется
Параметры

Expression
Любое числовое выражение или строка,представляющая число от -32768 до 32767
Если числовое значение Expression не попадает в диапазон допустимых значений, происходит ошибка стадии выполнения Overflow.
Если Expression имеет тип данных String,то он должен быть числом, иначе возникает ошибка стадии выполнения Type mismatch.
Если дробная часть Expression равна 0.5, CInt всегда округляет его до ближайшего четного числа, т.е. CInt(2.5)= 2, a CInt(1.5)= 2

Пример Dim A, retval A=1234.5678 ‘ A имеет тип Double retval = CInt(A)’ преобразуем в Integer Debug.Print retval ‘ получаем 1235 Категория

Type Conversion Functions
Each function coerces an expression to a specific data type .
Syntax
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)
The required expression argument is any string expression or numeric expression .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *