Konwertowanie pomiędzy ciągami a innymi typami danych (Visual Basic)

Możesz przekonwertować wartość liczbową, Booleanlub datę/godzinę na Stringwartość . 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, wystąpi błąd czasu wykonywania.

Konwersje wszystkich tych przypisań w obu kierunkach są konwersjami zawężania. Należy użyć słów kluczowych konwersji typów (CBool, CByte, CDateCDecCSByteCLngCShortCSngCIntCDblCUIntCULngCStrCUShorti ).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 .). Formatautomatycznie używa odpowiednich symboli zgodnie z ustawieniami Opcji regionalnych określonymi w Panel 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, karta, kanał informacyjny wiersza 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 systemie Windows Panel sterowania 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 żadnych francuskich ustawieniach regionalnych.

Zobacz też