VBA преобразовать текстовую строку в число

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

Преобразовать строку в целое число

Вы можете использовать функцию CInt или CLng для преобразования строки в целое число. Если дробь меньше 0,5, функция округляет в меньшую сторону, если дробь больше или равна 0,5, функция округляет в большую сторону. Следующий код преобразует строку в целое число:

1 MsgBox CInt («7,55»)

Результат:

Следующий код использует функцию CLng для преобразования строки в целое число:

1 MsgBox CLng ("13,5")

Результат:

Примечание: Вы можете использовать функцию CInt или CLng для преобразования строки в целочисленный или длинный (соответственно) типы данных. Тип данных Long аналогичен целочисленному типу данных, за исключением того, что разрешены более крупные числа. В прошлом различие требовалось из-за нехватки памяти. В современном программировании нет причин не использовать длинный тип данных, поскольку память больше не является проблемой. Поэтому всегда лучше использовать длинный тип данных вместо целого числа.

Вы можете использовать Immediate Window, чтобы увидеть, как будет обработано значение, если оно не будет преобразовано в целое число:

1 Отладка. Печать "13,5" + "13,5"


Обычно текст сохраняется как переменная, и эту переменную необходимо преобразовать в числовой тип данных, как показано в приведенном ниже коде:

1234567 Подложка Using_Variables ()Тусклое значение: одно как строкаvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)Конец подписки

Преобразовать строку в десятичную

Вы можете использовать функцию CDbl или CDec для преобразования строки в десятичное число. Следующий код преобразует строку в тип данных double:

1 MsgBox CDbl ("9.1819")

Результат:

Следующий код преобразует строку в десятичный тип данных:

1 MsgBox CDec («13,57») + CDec («13,4»)

Результат:

Вы можете использовать Immediate Window, чтобы увидеть, как будет обработано значение, если оно не будет преобразовано в двойной или десятичный тип данных:

1 Отладка. Печать "13,57" + "13,4"

Результат:

Примечание: Тип данных decimal может хранить большие числа, чем тип данных double, поэтому всегда рекомендуется использовать тип данных decimal, когда вы не уверены.

Преобразовать строку в валюту

Вы можете использовать функцию CCur для преобразования строки в валюту. Следующий код преобразует строку в тип данных валюты:

1 Диапазон ("A1"). Значение = CCur ("18,5")

Результат:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave