Aracılığıyla paylaş


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

Boole Veri Türü (Visual Basic)

Herhangi bir geçerli Char veya String veya sayısal ifade.

CByte

Byte Veri Türü (Visual Basic)

0 ile 255 (imzasız); kesirli bölümleri yuvarlanır.1

CChar

Char Veri Türü (Visual Basic)

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

Date Veri Türü (Visual Basic)

Tarih ve saati geçerli herhangi bir temsili.

CDbl

Double Veri Türü (Visual Basic)

-1.79769313486231570E + 308 aracılığıyla - 4.94065645841246544E-negatif değerler; 4.94065645841246544E-1.79769313486231570E + 308 pozitif değerler için-324.

CDec

Onluk Veri Türü (Visual Basic)

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

Tamsayı Veri Türü (Visual Basic)

2.147.483.648 ile 2.147.483.647; kesirli bölümleri yuvarlanır.1

CLng

Long Veri Türü (Visual Basic)

-9.223.372.036.854.775.808-9.223.372.036.854.775.807; kesirli bölümleri yuvarlanır.1

CObj

Nesne Veri Türü

Geçerli herhangi bir ifade.

CSByte

SByte Veri Türü (Visual Basic)

-128 ile 127; kesirli bölümleri yuvarlanır.1

CShort

Short Veri Türü (Visual Basic)

-32,768 ile 32,767 arasında; kesirli bölümleri yuvarlanır.1

CSng

Single Veri Türü (Visual Basic)

-3.402823E + 38 aracılığıyla - 1-negatif değerler; 1-45 3.402823E + 38 için pozitif değerler üzerinden.

CStr

Dize Veri Türü (Visual Basic)

Verir CStr bağlı expression bağımsız değişkeni.Bkz: CStr İşlevinin Dönüş Değerleri (Visual Basic)

CUInt

UInteger Veri Türü

0 ile 4.294.967.295 (imzasız); kesirli bölümleri yuvarlanır.1

CULng

ULong Veri Türü (Visual Basic)

0-18,446,744,073,709,551,615 (imzasız); kesirli bölümleri yuvarlanır.1

CUShort

UShort Veri Türü (Visual Basic)

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)

Asc

AscW

Chr

ChrW

Int

Fix

Format

Hex

Oct

Str

Val

Diğer Kaynaklar

Visual Basic'de Tür Dönüştürmeleri