Tür Dönüştürme İşlevleri (Visual Basic)
Bu iþlevler þunlardýr: derlenmiş satır içi dönüştürme kodunu deyimi değerlendirir kod parçası olduğu anlamına gelir.Bazen performansını artırır dönüşümü gerçekleştirmek için hiçbir yordam çağrısı vardır.Her işlev belirli bir veri türü için bir ifade coerces.
CBool(expression)
CByte(expression)
CChar(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CObj(expression)
CSByte(expression)
CShort(expression)
CSng(expression)
CStr(expression)
CUInt(expression)
CULng(expression)
CUShort(expression)
Parça
- expression
Gerekli.Kaynak veri türü herhangi bir deyimdir.
Dönüş değeri veri türü
Aşağıdaki tabloda gösterildiği gibi işlev adı verdiği, değerin veri tipini belirler.
İşlev adı |
Dönüş veri türü |
İçin aralık expression bağımsız değişkeni |
---|---|---|
CBool |
Herhangi bir geçerli Char veya String veya sayısal ifade. |
|
CByte |
0 ile 255 (imzasız); kesirli bölümleri yuvarlanır.1 |
|
CChar |
Herhangi bir geçerli Char veya String ifade; yalnızca ilk karakteri bir String dönüştürülür; değer 0 ile 65535 (imzasız) olabilir. |
|
CDate |
Tarih ve saati geçerli herhangi bir temsili. |
|
CDbl |
-1.79769313486231570E + 308 aracılığıyla - 4.94065645841246544E-negatif değerler; 4.94065645841246544E-1.79769313486231570E + 308 pozitif değerler için-324. |
|
CDec |
sıfır ölçeklenmiş numaraları için diğer bir deyişle sayıların ondalık basamaksız 79,228,162,514,264,337,593,543,950,335 +/-.28 Ondalık basamağı olan sayılar için aralığı +/-7.9228162514264337593543950335 arasındadır.En küçük olası sıfır olmayan 0.0000000000000000000000000001 (+/-1E-28) sayısıdır. |
|
CInt |
2.147.483.648 ile 2.147.483.647; kesirli bölümleri yuvarlanır.1 |
|
CLng |
-9.223.372.036.854.775.808-9.223.372.036.854.775.807; kesirli bölümleri yuvarlanır.1 |
|
CObj |
Geçerli herhangi bir ifade. |
|
CSByte |
-128 ile 127; kesirli bölümleri yuvarlanır.1 |
|
CShort |
-32,768 ile 32,767 arasında; kesirli bölümleri yuvarlanır.1 |
|
CSng |
-3.402823E + 38 aracılığıyla - 1-negatif değerler; 1-45 3.402823E + 38 için pozitif değerler üzerinden. |
|
CStr |
Verir CStr bağlı expression bağımsız değişkeni.Bkz: CStr İşlevinin Dönüş Değerleri (Visual Basic) |
|
CUInt |
0 ile 4.294.967.295 (imzasız); kesirli bölümleri yuvarlanır.1 |
|
CULng |
0-18,446,744,073,709,551,615 (imzasız); kesirli bölümleri yuvarlanır.1 |
|
CUShort |
0 ile 65.535 (imzasız); kesirli bölümleri yuvarlanır.1 |
1 Kesirli bölümleri, yuvarlama adı verilen özel bir tür tabi olabilir banker's yuvarlama."Açıklamalar" daha fazla bilgi için bkz.
Notlar
Bir kural olarak, tercih edin Visual Basic tür dönüştürme işlevleri kullanmanız gerekir.net Framework yöntemleri gibi ToString(), ya da üzerinde Convert sınıf veya her tür yapı ya da sınıf.Visual Basic işlevler Visual Basic kodunu en iyi etkileşim için tasarlanmıştır ve bunlar da kaynak kodunuzu daha kısa ve daha kolay okunmasını sağlamak.Buna ek olarak,.net Framework dönüştürme yöntemleri değil her zaman sonuçlar aynı dönüştürürken örneğin Visual Basic işlevleri olarak Boolean için Integer.Daha fazla bilgi için bkz. Veri Türleri Sorunlarını Giderme (Visual Basic).
Davranış
Zorlama. Genel olarak, varsayılan veri türü yerine, belli bir veri türü için bir işlem sonucu işlenemiyor veri türü dönüştürme işlevleri kullanabilirsiniz.Örneğin, CDec durumlarda burada tek duyarlıklı, çift duyarlıklı veya tamsayı aritmetiği denetimli normalde geçtiğine ondalık aritmetik zorlamak için.
**Başarısız dönüşümleri yapılır.**expression İşleve iletilen veri türü aralık dışında hangi BT dönüştürülmekte olan olan bir OverflowException oluşur.
Kesirli bölümleri. Nonintegral değeri bir integral dönüştürdüğünüzde yazın, tamsayı Dönüşüm işlevleri (CByte, CInt, CLng, CSByte, CShort, CUInt, CULng, ve CUShort) kesirli bölümü kaldırın ve değeri en yakın tamsayıya yuvarlama.
Kesirli bölüm tam olarak ise 0.5 tamsayı Dönüşüm işlevleri yuvarlak kendisine en yakın çift tamsayıya.Örneğin, 0, 1.5 ve her ikisi de 2'ye yuvarlak 2.5 0.5 yuvarlar.Buna bazen denir banker's yuvarlama, ve birçok numaraları birbirine eklerken biriken bir sapma için tazmin etmek amacı nedir.
CIntve CLng farklılık Int ve Fix yuvarlak, bir sayının kesirli kısmını yerine truncate işlevleri.Ayrıca, Fix ve Int ilettiğiniz gibi her zaman aynı veri türünde bir değer döndürür.
Dönüştürme tarihi veya saati. Use IsDate bir değer bir tarih ve saat dönüştürülebilir, belirlemek için işlevi.CDatehazır bilgi tarih ve saat rakamları ancak sayısal değerler tanır.Visual Basic 6.0 dönüştürmek için Date değeri bir Date değeri Visual Basic 2005 veya sonraki sürümleri, kullanabileceğiniz DateTime.FromOADate yöntemi.
Nötr tarih/saat değerleri.Date Veri Türü (Visual Basic) Her zaman tarih ve saat bilgilerini içerir.Olacak şekilde 1/1/0001 (1 Ocak 1 yıl) türü dönüştürme amacıyla Visual Basic bulduğu bir nötr değeri tarih ve 00: 00: 00 (gece yarısı) kez nötr bir değer olması için.Dönüştürürseniz, bir Date bir dize değeri CStr sonuç dizesini nötr değerleri içermez.Örneğin, dönüştürme, #January 1, 0001 9:30:00# bir dize olarak "9: 30: 00'de"; sonucudur Tarih bilgisi bastırılır.Ancak, tarih bilgileri özgün hala varsa Date değer ve işlevleriyle gibi kurtarılabileceğini DatePart işlevi.
Kültür duyarlılığı. Dönüşümleri uygulama geçerli kültür ayarlara göre dizeler içeren tür dönüştürme işlevleri gerçekleştirin.Örneğin, CDate için sistem yerel ayarı göre tarih biçimlerini tanır.Gün, ay ve yıl bölgeniz için doğru sırada girmelisiniz veya tarihi doğru yorumlanabilir değil."Çarşamba" gibi bir gün hafta dize içeriyorsa, uzun tarih biçimi tanınmıyor.
Bölgeniz belirtilenin dışında bir biçimde bir değer dize halinde temsilini bilgisayardan veya dönüştürmek istiyorsanız, Visual Basic tür dönüştürme işlevleri kullanamazsınız.Bunu yapmak için ToString(IFormatProvider) ve Parse(String, IFormatProvider) bu değerin türüne yöntemleri.Örneğin, Double.Parse bir dizeye dönüştürme sırasında bir Doubleve Double.ToString türünde bir deðer dönüştürürken Double bir dize.
CType işlevi
CType işlevi ikinci bir bağımsız değişken alır typenameve coerces expression için typename, typename herhangi bir veri türü, yapısı, sınıf veya arabirim var geçerli dönüştürme için olabilir.
Bir karşılaştırma için CType diğer tür dönüştürme anahtar sözcükleriyle, bkz: DirectCast İşleci (Visual Basic) ve TryCast İşleci (Visual Basic).
CBool örnek
Aşağıdaki örnek CBool İşlev ifadeleri için dönüştürmek için Boolean değerler.Sıfır olmayan bir değere bir ifade olarak değerlendirilir, CBool döndüren True; Aksi halde, verir False.
Dim a, b, c As Integer
Dim check As Boolean
a = 5
b = 5
' The following line of code sets check to True.
check = CBool(a = b)
c = 0
' The following line of code sets check to False.
check = CBool(c)
CByte örnek
Aşağıdaki örnek CByte bir deyim dönüştürme işlevi bir Byte.
Dim aDouble As Double
Dim aByte As Byte
aDouble = 125.5678
' The following line of code sets aByte to 126.
aByte = CByte(aDouble)
CChar örnek
Aşağıdaki örnek CChar ilk karakterini dönüştürme işlevi bir String ifade için bir Char türü.
Dim aString As String
Dim aChar As Char
' CChar converts only the first character of the string.
aString = "BCD"
' The following line of code sets aChar to "B".
aChar = CChar(aString)
Giriş bağımsız değişkeni için CChar veri türünde olmalıdır Char veya String.Kullanamazsınız CChar çünkü bir sayıyı bir karaktere dönüştürmek için CChar bir numeric veri türü kabul edemiyor.Aşağıdaki örnek kod noktası (karakter kodu) gösteren bir sayı alır ve ilgili karaktere dönüştürür.Kullandığı InputBox işlevi basamak dizisini elde etmek için CInt yazmak için dize dönüştürmek için Integer, ve ChrW yazmak için sayıyı dönüştürmek için Char.
Dim someDigits As String
Dim codePoint As Integer
Dim thisChar As Char
someDigits = InputBox("Enter code point of character:")
codePoint = CInt(someDigits)
' The following line of code sets thisChar to the Char value of codePoint.
thisChar = ChrW(codePoint)
CDate örnek
Aşağıdaki örnek CDate dizelere dönüþtürmek için işlev Date değerler.Genel olarak, kodlama sabit tarih ve saat (Bu örnekte gösterildiği gibi) dizeleri olarak önerilmez.Tarih rakamlarını ve #Feb 1969 # ve # 12 gibi saat rakamları 4: 45: 23 pm #, bunun yerine.
Dim aDateString, aTimeString As String
Dim aDate, aTime As Date
aDateString = "February 12, 1969"
aTimeString = "4:35:47 PM"
' The following line of code sets aDate to a Date value.
aDate = CDate(aDateString)
' The following line of code sets aTime to Date value.
aTime = CDate(aTimeString)
CDbl Örneği
Dim aDec As Decimal
Dim aDbl As Double
' The following line of code uses the literal type character D to make aDec a Decimal.
aDec = 234.456784D
' The following line of code sets aDbl to 1.9225456288E+1.
aDbl = CDbl(aDec * 8.2D * 0.01D)
CDec örnek
Aşağıdaki örnek CDec işlevi sayısal bir değere dönüştürmek için Decimal.
Dim aDouble As Double
Dim aDecimal As Decimal
aDouble = 10000000.0587
' The following line of code sets aDecimal to 10000000.0587.
aDecimal = CDec(aDouble)
CInt örnek
Aşağıdaki örnek CInt işlevi bir değere dönüştürmek için Integer.
Dim aDbl As Double
Dim anInt As Integer
aDbl = 2345.5678
' The following line of code sets anInt to 2346.
anInt = CInt(aDbl)
CLng Örneği
Aşağıdaki örnek CLng değerlere dönüştürmek için işlev Long.
Dim aDbl1, aDbl2 As Double
Dim aLng1, aLng2 As Long
aDbl1 = 25427.45
aDbl2 = 25427.55
' The following line of code sets aLng1 to 25427.
aLng1 = CLng(aDbl1)
' The following line of code sets aLng2 to 25428.
aLng2 = CLng(aDbl2)
CObj örnek
Aşağıdaki örnek CObj işlevi sayısal bir değere dönüştürmek için Object.Object Değişkenin kendisini işaret eden, yalnızca dört bayt işaretçi içeren Double kendisine atanan değer.
Dim aDouble As Double
Dim anObject As Object
aDouble = 2.7182818284
' The following line of code sets anObject to a pointer to aDouble.
anObject = CObj(aDouble)
CSByte örnek
Aşağıdaki örnek CSByte işlevi sayısal bir değere dönüştürmek için SByte.
Dim aDouble As Double
Dim anSByte As SByte
aDouble = 39.501
' The following line of code sets anSByte to 40.
anSByte = CSByte(aDouble)
CShort örnek
Aşağıdaki örnek CShort işlevi sayısal bir değere dönüştürmek için Short.
Dim aByte As Byte
Dim aShort As Short
aByte = 100
' The following line of code sets aShort to 100.
aShort = CShort(aByte)
CSng Örneği
Aşağıdaki örnek CSng değerlere dönüştürmek için işlev Single.
Dim aDouble1, aDouble2 As Double
Dim aSingle1, aSingle2 As Single
aDouble1 = 75.3421105
aDouble2 = 75.3421567
' The following line of code sets aSingle1 to 75.34211.
aSingle1 = CSng(aDouble1)
' The following line of code sets aSingle2 to 75.34216.
aSingle2 = CSng(aDouble2)
CStr Örneği
Aşağıdaki örnek CStr işlevi sayısal bir değere dönüştürmek için String.
Dim aDouble As Double
Dim aString As String
aDouble = 437.324
' The following line of code sets aString to "437.324".
aString = CStr(aDouble)
Aşağıdaki örnek CStr dönüştürmek için işlevi Date değerler String değerler.
Dim aDate As Date
Dim aString As String
' The following line of code generates a COMPILER ERROR because of invalid format.
' aDate = #February 12, 1969 00:00:00#
' Date literals must be in the format #m/d/yyyy# or they are invalid.
' The following line of code sets the time component of aDate to midnight.
aDate = #2/12/1969#
' The following conversion suppresses the neutral time value of 00:00:00.
' The following line of code sets aString to "2/12/1969".
aString = CStr(aDate)
' The following line of code sets the time component of aDate to one second past midnight.
aDate = #2/12/1969 12:00:01 AM#
' The time component becomes part of the converted value.
' The following line of code sets aString to "2/12/1969 12:00:01 AM".
aString = CStr(aDate)
CStrher zaman işler bir Date değeri standart kısa biçimde yerel, örneğin, "15/6/2003 4: 35: 47 pm".Ancak, CStr önler nötr değerleri , 1/1/0001 tarih ve saati için 00: 00: 00.
Tarafından döndürülen değerler hakkında daha fazla ayrıntı için CStr, bkz: CStr İşlevinin Dönüş Değerleri (Visual Basic).
CUInt örnek
Aşağıdaki örnek CUInt işlevi sayısal bir değere dönüştürmek için UInteger.
Dim aDouble As Double
Dim aUInteger As UInteger
aDouble = 39.501
' The following line of code sets aUInteger to 40.
aUInteger = CUInt(aDouble)
CULng örnek
Aşağıdaki örnek CULng işlevi sayısal bir değere dönüştürmek için ULong.
Dim aDouble As Double
Dim aULong As ULong
aDouble = 39.501
' The following line of code sets aULong to 40.
aULong = CULng(aDouble)
CUShort örnek
Aşağıdaki örnek CUShort işlevi sayısal bir değere dönüştürmek için UShort.
Dim aDouble As Double
Dim aUShort As UShort
aDouble = 39.501
' The following line of code sets aUShort to 40.
aUShort = CUShort(aDouble)
Ayrıca bkz.
Başvuru
Dönüştürme İşlevleri (Visual Basic)