VBA Conversia șirului de text în număr

Este posibil să vi se solicite să convertiți numerele stocate ca text în numere reale în codul dvs. VBA. În acest tutorial, vom trece peste funcțiile pe care trebuie să le utilizați pentru a converti un șir într-un tip întreg, lung, dublu, zecimal sau valutar (Faceți clic aici pentru a afla despre convertirea numerelor în șiruri)

Conversia șirului la întreg

Puteți utiliza funcția CInt sau CLng pentru a converti un șir într-un număr întreg. Dacă fracția este mai mică de .5 funcția se rotunjește în jos, dacă fracția este mai mare sau egală cu .5 funcția se rotunjește în sus. Următorul cod va converti un șir într-un număr întreg:

1 MsgBox CInt ("7.55")

Rezultatul este:

Următorul cod folosește funcția CLng pentru a converti un șir într-un număr întreg:

1 MsgBox CLng („13.5”)

Rezultatul este:

Notă: Puteți utiliza funcția CInt sau CLng pentru a converti un șir într-un număr întreg sau tipuri de date lungi (respectiv). Tipul de date lungi este același cu un tip de date întregi, cu excepția cazului în care sunt permise numere mai mari. În trecut, distincția era necesară din cauza constrângerilor de memorie. În programarea modernă, nu există niciun motiv să nu folosiți tipul lung de date, deoarece memoria nu mai este o problemă. Deci, este întotdeauna mai bine să folosiți un tip de date lung în loc de un număr întreg.

Puteți utiliza fereastra imediată pentru a vedea cum ar fi procesată valoarea dacă nu este convertită într-un număr întreg:

1 Debug.Print "13.5" + "13.5"


De obicei, textul va fi stocat ca o variabilă și această variabilă va trebui convertită într-un tip de date numerice, așa cum se arată în codul de mai jos:

1234567 Sub folosind_Variabile ()Dim valueOne As StringvalueOne = 5MsgBox CLng (valueOne) + CLng (valueOne)Sfârșitul Sub

Convertiți șirul în zecimal

Puteți utiliza funcția CDbl sau CDec pentru a converti un șir în zecimal. Următorul cod ar converti un șir într-un tip de date dublu:

1 MsgBox CDbl ("9.1819")

Rezultatul este:

Următorul cod ar converti un șir într-un tip de date zecimal:

1 MsgBox CDec ("13.57") + CDec ("13.4")

Rezultatul este:

Puteți utiliza fereastra imediată pentru a vedea cum ar fi procesată valoarea dacă nu este convertită la un tip de date dublu sau zecimal:

1 Debug.Print "13.57" + "13.4"

Rezultatul este:

Notă: Tipul de date zecimal poate stoca numere mai mari decât tipul de date dublu, deci este întotdeauna recomandabil să utilizați tipul de date zecimal atunci când nu sunteți sigur.

Conversia șirului în monedă

Puteți utiliza funcția CCur pentru a converti un șir într-o monedă. Următorul cod ar converti un șir într-un tip de date valutare:

1 Interval ("A1"). Valoare = CCur ("18,5")

Rezultatul este:

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave