VBA String to Integer - Използвайте функцията CINT за преобразуване на данни

Съдържание

Excel VBA String до Integer

String и Integer са често срещани типове данни, но често като част от нашия анализ на данни, може да поискаме да преобразуваме променливата от типа data string в цяло число тип данни и това е възможно с помощта на функцията “CINT” във VBA.

Синтаксис на функцията CINT

“CINT” е категоризиран като функция за преобразуване на тип данни. Тази функция преобразува предоставения израз в Integer тип данни. Когато казвам „Expression“, това трябва да е числова стойност, която е в диапазона на Integer тип данни във VBA, т.е. между -32768 до 32767.

Сега вижте синтаксиса на функцията CINT във VBA.

  • Изразът е стойността или променливата, която съдържа стойността, която трябва да се преобразува в Integer Data Type.
Забележка 1: Точно когато предадете стойността на израза трябва между -32768 до 32767. В противен случай това ще доведе до „Грешка при преливане“, т.е. присвояване на стойността, която е над лимита на типа данни. Забележка 2: Изразът трябва да е числова стойност. Ако изразът е стойност на низ или текстова стойност, това ще доведе до „Грешка при изпълнение 13: Тип Несъответствие“.

В тази статия ще ви покажем за преобразуването на целочисления тип данни от низ в цяло число с помощта на функцията „CINT“.

Примери за CINT функция във VBA

Пример # 1

Нека да изпълним първия пример за преобразуване на число на дроб в целочислен тип данни.

Код:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • В горния код за променливата “IntegerNumber” съм присвоил стойността като “2564.589”.
  • В следващия ред съм приложил функция CINT. Така той ще преобразува предоставената стойност до най-близкото цяло число.

И така, получихме резултата - 2565, а предоставеното число е 2564.589. Когато десетичната стойност е повече от 0,5, функциите CINT закръглят числото до следващото цяло число. Когато десетичната стойност е по-малка или равна на 0,5 CINT функции, закръглени надолу до същото цяло число.

За пример погледнете кода по-долу, където броят е по-малък от 0,5

Код:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0.5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Това трябва да даде резултата като 2564, а не 2565.

Пример # 2

Сега ще се опитам да присвоя номера, който е повече от лимита на типа данни Integer.

Код:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Задал съм числото като „IntegerNumber = 51456.785“, което е повече от ограничението на ограничението за тип данни Integer. Сега, ако се опитам да стартирам кода, той ще изведе грешка при препълване във VBA.

Винаги, когато предоставеният номер е повече от целочисления тип данни, позволява да се покаже простото поле за съобщение с надпис „Числото е повече от ограничението на целочисления тип данни“.

Код:

Под CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 6 Тогава MsgBox IntegerNumber & "е повече от числото на числото" Крайна под

Това ще показва съобщението, както е показано по-долу, когато предоставеният номер е извън обхвата на типа данни Integer.

Пример # 3

Сега ще се опитам да присвоя стойността, която не е цифрова.

Под CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Задал съм стойността като „Здравей“, която не е цифрова. Това причинява „Грешка при несъответствие на типа“.

Вместо да показваме грешката по този начин, нека поставим просто поле с информационно съобщение пред потребителя. Кодът по-долу ще постави съобщението с надпис „Предоставената стойност на израза е нецифрова, така че не може да бъде преобразувана“.

Код:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Съобщение: If Err.Number = 13 Тогава MsgBox IntegerNumber & ": The Provided NumbersNumeber , Така че не може да се преобразува "End Sub

Това ще покаже полето за съобщения по-долу.

Неща за запомняне

  • CINT преобразува стойност от друг тип данни в цяло число тип данни.
  • Цялото число може да съдържа стойности от -32768 до 32767, всичко над тези числа ще доведе до грешка при препълване.
  • Само типът низови данни съдържа числови данни, които ще бъдат преобразувани в цял тип данни.

Препоръчани статии

Това е ръководство за VBA String to Integer. Тук обсъждаме примери за низ към цяло число в Excel VBA, като използваме функцията CINT, заедно с практически примери и изтегляем Excel шаблон. По-долу има няколко полезни статии, свързани с VBA -

  • VBA разделен низ в масив
  • VBA низ до дата
  • VBA Сравнение на низове
  • VBA замести низ

Интересни статии...