ВБА низ у целобројни - Користите функцију ЦИНТ за конверзију података

Преглед садржаја

Екцел ВБА низ у целобројни

Стринг и Интегер су уобичајени типови података, али често као део наше анализе података, можда ћемо желети да конвертујемо променљиву типа стринг стринг у целобројни тип података, а то је могуће коришћењем функције „ЦИНТ“ у ВБА.

Синтакса функције ЦИНТ

„ЦИНТ“ је категоризован као функција конверзије типа података. Ова функција претвара дати израз у Интегер тип података. Када кажем „Израз“, то мора бити нумеричка вредност која се налази у опсегу целокупног типа података у ВБА, односно између -32768 до 32767.

Сада погледајте синтаксу функције ЦИНТ у ВБА.

  • Израз је вредност или променљива која садржи вредност коју треба претворити у целобројни тип података.
Напомена 1: Таман када проследите вредност израза мора између -32768 до 32767. У супротном, то ће довести до „Овер Флов Еррор“, тј. Додељивања вредности која прелази ограничење типа података. Напомена 2: Израз мора бити нумеричка вредност. Ако је израз вредност низа или текстуална вредност, изазваће „Грешку времена извођења 13: Упишите неусклађеност“

У овом чланку ћемо вам показати како се претвара целобројни тип података из низа у цео број помоћу функције „ЦИНТ“.

Примери функције ЦИНТ у ВБА

Пример # 1

Изведимо први пример претварања једног броја разломка у целобројни тип података.

Шифра:

Суб ЦИНТ_Екампле1 () Дим ИнтегерНумбер Ас Стринг Дим ИнтегерРесулт Ас Интегер ИнтегерНумбер = 2564.589 ИнтегерРесулт = ЦИнт (ИнтегерНумбер) МсгБок ИнтегерРесулт Енд Суб
  • У горњем коду за променљиву „ИнтегерНумбер“ доделио сам вредност као „2564.589“.
  • У следећем реду сам применио функцију ЦИНТ. Дакле, претвориће наведену вредност у најближи целобројни број.

Дакле, добили смо резултат - 2565, а испоручени број је 2564.589. Када је децимална вредност већа од 0,5, функције ЦИНТ заокружују број на следећи цео број. Када је децимална вредност мања или једнака 0,5 ЦИНТ функције, заокружују се на исти цели број.

За пример погледајте доњи код где је број мањи од 0,5

Шифра:

Суб ЦИНТ_Екампле1 () Дим ИнтегерНумбер Ас Стринг Дим ИнтегерРесулт Ас Интегер ИнтегерНумбер = 2564 - 0.5 ИнтегерРесулт = ЦИнт (ИнтегерНумбер) МсгБок ИнтегерРесулт Енд Суб

Резултат би требао бити 2564, а не 2565.

Пример # 2

Сада ћу покушати да додијелим број који је већи од ограничења за тип података Интегер.

Шифра:

Суб ЦИНТ_Екампле2 () Дим ИнтегерНумбер Ас Стринг Дим ИнтегерРесулт Ас Интегер ИнтегерНумбер = 51456.785 ИнтегерРесулт = ЦИнт (ИнтегерНумбер) МсгБок ИнтегерРесулт Енд Суб

Доделио сам број као „ИнтегерНумбер = 51456.785“, што је више од ограничења ограничења типа података Интегер. Сад ако покушам да покренем код, то ће довести до грешке преливања у ВБА.

Кад год је наведени број већи од целокупног типа података, приказује се једноставно поље са поруком „Број је већи од ограничења целокупног типа података“.

Шифра:

Суб ЦИНТ_Екампле2 () Дим ИнтегерНумбер Ас Стринг Дим ИнтегерРесулт Ас Интегер ИнтегерНумбер = 51456.785 Он Еррор ГоТо Мессаге: ИнтегерРесулт = ЦИнт (ИнтегерНумбер) Мессаге: Иф Ерр.Нумбер = 6 тхен МсгБок ИнтегерНумбер & "оф тхе Нумбер ИнтегерНумбер &" оф тхе Нумбер Ингерерумум & Енд Суб

Ово ће приказати поруку као доле кад год је наведени број изван опсега целокупног типа података.

Пример # 3

Сада ћу покушати да доделим вредност која није нумеричка.

Суб ЦИНТ_Екампле2 () Дим ИнтегерНумбер Ас Стринг Дим ИнтегерРесулт Ас Интегер ИнтегерНумбер = "Хелло" ИнтегерРесулт = ЦИнт (ИнтегерНумбер) МсгБок ИнтегерРесулт Енд Суб

Доделио сам вредност као „Здраво“ која није нумеричка. То узрокује „Грешку у неусклађености типа“.

Instead of showing the error like this, let’s put a simple information message box in front of the user. The below code will put the message box saying “The Provided Expression Value is Non-Numeric, So cannot be converted”.

Code:

Sub CINT_Example2() Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt(IntegerNumber) Message: If Err.Number = 13 Then MsgBox IntegerNumber & " : The Provided Expression Value is Non-Numeric, So cannot be converted" End Sub

This will show the message box below.

Things to Remember

  • CINT converts value from another data type to an integer data type.
  • Integer can hold values from -32768 to 32767 anything above these numbers will cause an overflow error.
  • Само врста података низа садржи нумеричке податке који ће се претворити у целобројни тип података.

Препоручени чланци

Ово је био водич за ВБА Стринг то Интегер. Овде ћемо размотрити примере низа до целог броја у програму Екцел ВБА помоћу функције ЦИНТ, заједно са практичним примерима и Екцел предлошком који се може преузети. Испод је неколико корисних чланака повезаних са ВБА -

  • ВБА Сплит Стринг инто Арраи
  • ВБА низ до данас
  • ВБА поређење низова
  • ВБА заменити низ

Занимљиви Чланци...