Udostępnij za pomocą


Konwersje między ciągami i innymi typami (Visual Basic)

Możesz przekonwertować wartość liczbową, Boolean lub wartość daty/czasu na String. Można również przekonwertować w odwrotnym kierunku — z wartości ciągu na liczbowe, Booleanlub Date — pod warunkiem, że zawartość ciągu może być interpretowana jako prawidłowa wartość docelowego typu danych. Jeśli nie mogą, wystąpi błąd czasu wykonywania.

Konwersje wszystkich tych operacji przypisania w obu kierunkach są konwersjami zwężającymi. Należy użyć słów kluczowych konwersji typów (CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSByte, CShort, CSng, CStr, CUInt, CULng, CUShort, CType). Funkcje Format i Val zapewniają dodatkową kontrolę nad konwersjami między ciągami i liczbami.

Jeśli zdefiniowano klasę lub strukturę, można zdefiniować operatory konwersji typów między String i typem klasy lub struktury. Aby uzyskać więcej informacji, zobacz How to: Define a Conversion Operator (Instrukcje: definiowanie operatora konwersji).

Konwersja liczb na ciągi

Za pomocą Format funkcji można przekonwertować liczbę na sformatowany ciąg, który może zawierać nie tylko odpowiednie cyfry, ale także symbole formatowania, takie jak $znak waluty (np. ), separatory tysięcy lub symbole grupowania cyfr (na przykład ,), i separator dziesiętny (na przykład .). Format automatycznie używa odpowiednich symboli zgodnie z ustawieniami Opcji regionalnych określonymi w Panelu sterowania systemu Windows.

Należy pamiętać, że operator łączenia (&) może niejawnie przekonwertować liczbę na ciąg, jak pokazano w poniższym przykładzie.

' The following statement converts count to a String value.  
Str = "The total count is " & count  

Konwersja ciągów na liczby

Za pomocą Val funkcji można jawnie przekonwertować cyfry w ciągu na liczbę. Val odczytuje ciąg, dopóki nie napotka znaku innego niż cyfra, spacja, tabulator, znak nowej linii lub kropka. Sekwencje "&O" i "&H" zmieniają podstawę systemu liczbowego i kończą skanowanie. Dopóki nie przestanie odczytywać, Val konwertuje wszystkie odpowiednie znaki na wartość liczbową. Na przykład poniższa instrukcja zwraca wartość 141.825.

Val(" 14 1.825 miles")

Gdy program Visual Basic konwertuje ciąg na wartość liczbową, używa ustawień Opcji regionalnych określonych w Panelu sterowania systemu Windows do interpretowania separatora tysięcy, separatora dziesiętnego i symbolu waluty. Oznacza to, że konwersja może zakończyć się powodzeniem w ramach jednego ustawienia, ale nie innego. Na przykład "$14.20" jest akceptowalna w ustawieniach regionalnych języka angielskiego (Stany Zjednoczone), ale nie w żadnym francuskim ustawieniach regionalnych.

Zobacz także