Konwertowanie pomiędzy ciągami a innymi typami danych (Visual Basic)
Możesz przekonwertować wartość liczbową, Boolean
lub datę/godzinę na String
wartość . Można również przekonwertować w odwrotnym kierunku — z wartości ciągu na liczbowe, Boolean
lub 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
, CDate
CDec
CSByte
CLng
CShort
CSng
CInt
CDbl
CUInt
CULng
CStr
CUShort
i ).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 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.