Die zweite wichtige Klasse dient der Typkonvertierung. Sie wird am Anfang des Seitencodes instanziiert. Der Objektname ist der .net-Typkonvertierung entlehnt Die direkte Verwendung der Typkonvertierungsfunktion führt dazu, dass das Programm einen Fehler meldet, weil die Variable leer ist oder ein falsches Format hat. Dieser Fehler ist in den meisten Fällen zulässig, wenn Sie beispielsweise eine Zeichenfolgenvariable in a konvertieren möchten Wenn die Variable leer ist, benötigen Sie im Allgemeinen eine Zahl. Gibt automatisch 0 zurück.
Eine weitere wichtige Funktion besteht darin, variable Formatierungsvorgänge zu kapseln, wodurch das einheitliche Ausgabeformat der gesamten Website wie Zeitformat, Währungsformat usw. beibehalten werden kann. Bei der Formatierung von Datums- und Währungsdaten kann es aufgrund von Nullwerten sehr leicht zu Fehlern kommen. Im Allgemeinen muss ich eine Logik schreiben, um den Nullwert vorab zu bestimmen und dann die Variable zu formatieren. Nachdem ich diese Klasse verwendet habe, um für die Typkonvertierung und formatierte Ausgabe verantwortlich zu sein, muss ich mir über diese trivialen Details keine Gedanken machen, was sehr wichtig sein kann Verbessere meine Programmierstimmung.
Es wurden auch andere Formatierungsfunktionen hinzugefügt, z. B. Convert.ToPer() wird zum Konvertieren von Zahlen in Prozent verwendet, Convert.FirstUppercase() wird zum Großschreiben des ersten Buchstabens verwendet ... Sie können nach Ihren eigenen Bedürfnissen fühlen Es steht Ihnen frei, diesen Kurs zu verlängern, und vergessen Sie nicht, ihn mit allen zu teilen.
Einige grundlegende Funktionen können beiläufig verwendet werden, wenn sie jedoch unter besonderen Umständen neu geschrieben werden. Beispielsweise konvertiert die von mir geschriebene Methode Convert.ToInt () Variablen in Integer. Die grundlegendste Operation ist Überprüfen Sie, ob dies der Fall ist ist leer. Wenn nicht, verwenden Sie einfach Cint(). Wenn eine Variable jedoch den Bereich überschreitet, muss festgestellt werden, ob sie innerhalb des Bereichs von Integer liegt. Daher habe ich meiner Meinung nach eine private Methode IsOverflowInteger () geschrieben, um festzustellen, ob der Variablenwert eine Zahl innerhalb eines bestimmten Bereichs ist Es kann grundsätzlich alle Situationen bewältigen.
Daher denke ich, dass es in der Convert-Klasse noch viele vorhandene Methoden gibt, die verbessert werden müssen. Wenn Sie bessere und vollständigere Funktionen haben, teilen Sie diese bitte mit, damit sie zur Standardklasse für die Variablenverarbeitung in ASP werden können und dies nicht mehr müssen Verlassen Sie sich auf diese eingeschränkten Funktionen in ASP.
Einige der wichtigeren Methoden sind unten aufgeführt. Weitere Informationen finden Sie im Code.
Typurteil:
Convert.IsInteger(ByVal Value) bestimmt, ob es sich um eine Ganzzahl handelt, nur 0~9 und -zeichen sind erlaubt
Convert.IsInt(ByVal Value) bestimmt, ob es sich um einen int-Typ handelt. Es ähnelt dem Folgenden und bedarf keiner Erklärung.
Convert.IsLng(ByVal Value)
Convert.IsDecimal(ByVal Value)
Convert.IsSng(ByVal Value)
Convert.IsDbl(ByVal Value)
Convert.IsCur(ByVal Value)
Convert.IsBln(ByVal Value)
Convert.IsDat(ByVal Value)
Convert.IsArr(ByVal Value)
Typkonvertierung:
Convert.ToStr(ByVal Value)
Convert.ToInt(ByVal Value)
Convert.ToLng(ByVal Value)
Convert.ToSng(ByVal Value)
Convert.ToDbl(ByVal Value)
Convert.ToBln(ByVal Value)
Convert.ToCur(ByVal Value)
Convert.ToDat(ByVal Value)
Format:
Convert.FormatDat(ByVal Value, ByVal vStyle) Datumsformatierung
Convert.FormatCur(ByVal Value,ByVal vDecimal) Währungsformatierung
Convert.FormatNum(ByVal Value,ByVal vDecimal) Zahlenformatierung
Andere Formatierungen:
Convert.ToPer(Byval value,Byval value0) Prozentsatz, mit %
Convert.FirstUppercase(ByVal value) Großschreiben Sie den ersten Buchstaben
Convert.SafeSql(ByVal value) ersetzt „for“ in SQL
Der Code lautet wie folgt: (Ich weiß nicht, wie man Code einfügt, und ich weiß nicht, wie CSDN funktioniert. Wenn Sie zum Einfügen von Code klicken, handelt es sich um einen <Textbereich> und nicht um einen Codefaltungsstil. Bitte fragen Sie nach Freunde, die sich damit auskennen, um Rat.)
Kopieren Sie den Codecode wie folgt:
Klasse Con_Convert
'******globale Botschaft
privat i,j,Wert0,Wert1,Wert2
Private Sub Class_Initialize
Sub beenden
Private Unterklasse_Terminate
Sub beenden
' ============================================== =============================
' Typ prüfen, wahr/falsch zurückgeben
' ============================================== =============================
Öffentliche Funktion IsStr(ByVal Value)
IsStr=true
Funktion beenden
'****** Prüfe die Zeichenfolge, ob sie eine Ganzzahl ist
Öffentliche Funktion IsInteger(ByVal Value)
if Trim(Value)= oder IsNull(Value) oder IsEmpty(Value), dann
IsInteger=false
anders
IsInteger = True
value0=Trimmen(Wert)
Für i = 1 bis len(Wert0)
Wenn Asc(Mid(value0, i, 1))>= Asc(0) und Asc(Mid(value0, i, 1)) <= Asc(9) Dann
Anders
wenn Asc(Mid(value0, i, 1))= Asc(-) und i=1 dann
anders
IsInteger = false
Ausgang für
Ende wenn
Ende wenn
Nächste
Ende wenn
Funktion beenden
'****** Überprüfen Sie, ob der Wert im Bereich einer Ganzzahl liegt
„Nur in dieser Klasse verwenden.“
' Wert:
' vBound : max
Private Funktion IsOverflowInteger(ByVal Value,ByVal vBound)
wenn IsInteger(Value) und IsInteger(vBound), dann
IsOverflowInteger=false
value0=trimmen(Wert)
value1=trimm(vBound)
wenn IsOverflowInteger=false dann
'lösche 0 von links
do while ( left(value0,1)=0 or left(value0,1)=- )
value0=right(value0,len(value0)-1)
Schleife
do while ( left(value1,1)=0 or left(value1,1)=- )
value1=right(value1,len(value1)-1)
Schleife
wenn len(value0)=len(value1) dann
für i=1 bis len(Wert0)
wenn Asc(mid(value0,i,1)) > Asc(mid(value1,i,1)) oder Asc(mid(value0,i,1)) > Asc(9) oder Asc(mid(value0,i, 1)) < Asc(0) dann
IsOverflowInteger=true
Ausgang für
Ende wenn
nächste
anders
wenn len(value0)>len(value1), dann
IsOverflowInteger=true
Ende wenn
Ende wenn
Ende wenn
anders
IsOverflowInteger=true
Ende wenn
Funktion beenden
Öffentliche Funktion IsInt(ByVal Value)
IsInt=true
if left(trim(value),1)=- then
if IsOverflowInteger(trim(value),-32768) then
IsInt=false
Ende wenn
anders
if IsOverflowInteger(trim(value),32767) then
IsInt=false
Ende wenn
Ende wenn
Endfunktion
Öffentliche Funktion IsLng(ByVal Value)
IsLng=true
if left(trim(value),1)=- then
if IsOverflowInteger(trim(value),-2147483648) dann
IsLng=false
Ende wenn
anders
if IsOverflowInteger(trim(value),2147483647) dann
IsLng=false
Ende wenn
Ende wenn
Funktion beenden
'*********************************************
'Dezimal
'*********************************************
'****** Zeichenfolge prüfen, ob es sich um eine Dezimalzahl handelt
Private Funktion IsDecimal(ByVal Value)
dim intDecimalCount
intDecimalCount=0
if Trim(Value)= oder IsNull(Value) oder IsEmpty(Value), dann
IsDecimal=false
anders
IsDecimal = True
value0=Trimmen(Wert)
Für i = 1 bis len(Wert0)
Wenn Asc(Mid(value0, i, 1))>= Asc(0) und Asc(Mid(value0, i, 1)) <= Asc(9) Dann
Anders
Fall auswählen Asc(Mid(value0, i, 1))
Fall Asc(-)
wenn i=1 dann
anders
IsDecimal = false
Ausgang für
Ende wenn
Fall Asc(.)
wenn intDecimalCount<2 dann
intDecimalCount=intDecimalCount + 1
anders
IsDecimal = false
Ausgang für
Ende wenn
Fall anders
IsDecimal = false
Ausgang für
Ende auswählen
Ende wenn
Nächste
Ende wenn
Funktion beenden
'****** Überprüfen Sie, ob der Wert im Dezimalbereich liegt
„Nur in dieser Klasse verwenden.“
' Wert:
'vBound:
Private Funktion IsOverflowDecimal(ByVal Value,ByVal vBound)
if Trim(Value)= oder IsNull(Value) oder IsEmpty(Value) oder Trim(vBound)= oder IsNull(vBound) oder IsEmpty(vBound) dann
IsOverflowDecimal=true
anders
Ende wenn
Funktion beenden
Öffentliche Funktion IsSng(ByVal Value)
IsSng=IsDecimal(Wert)
' -340282300000000000000000000000000000000 ~ -0.00000000000000000000000000000000000000000000001401298
' 0,000000000000000000000000000000000000000001401298 ~ 3402823000000000000000000000000000000
' -3,402823 E38 ~ -1,401298 E-45
' 1.401298 E-45 ~ 3.402823 E38
Funktion beenden
Öffentliche Funktion IsDbl(ByVal Value)
IsDbl=IsDecimal(Wert)
' -1,79769313486232 E308 ~ -4,94065645841247 E-324
' 4.94065645841247 E-324 ~ 1.7976931348623 E308
Funktion beenden
Öffentliche Funktion IsCur(ByVal Value)
IsCur=IsDecimal(Wert)
'-922337203685477.5808 ~ 922337203685477.5807
Funktion beenden
Öffentliche Funktion IsBln(ByVal Value)
wenn Value=true oder Value=false oder trim(Value)=1 oder trim(Value)=0 dann
IsBln=true
anders
IsBln=false
Ende wenn
Funktion beenden
Öffentliche Funktion IsDat(ByVal Value)
if Trim(Value)= oder IsNull(Value) oder IsEmpty(Value), dann
IsDat=false
anders
IsDat=IsDate(Wert)
Ende wenn
Funktion beenden
Öffentliche Funktion IsArr(ByVal Value)
if Trim(Value)= oder IsNull(Value) oder IsEmpty(Value), dann
IsArr=false
anders
IsArr=IsArray(Wert)
Ende wenn
Funktion beenden
' ============================================== =============================
'Typ konvertieren, Rückgabewert/Anfangswert
' ============================================== =============================
Öffentliche Funktion ToStr(ByVal Value)
ToStr=trim(Wert)
Funktion beenden
Öffentliche Funktion ToInt(ByVal Value)
if IsInt(Value) then
ToInt=Cint(Wert)
anders
ToInt=0
Ende wenn
Funktion beenden
Öffentliche Funktion ToLng(ByVal Value)
if IsLng(Value), dann
ToLng=clng(Wert)
anders
ToLng=0
Ende wenn
Funktion beenden
Öffentliche Funktion ToSng(ByVal Value)
if IsSng(Value) then
ToSng=cSng(Wert)
anders
ToSng=0
Ende wenn
Funktion beenden
Öffentliche Funktion ToDbl(ByVal Value)
if IsDbl(Value) then
ToDbl=cDbl(Wert)
anders
ToDbl=0
Ende wenn
Funktion beenden
Öffentliche Funktion ToBln(ByVal Value)
if IsBln(Value) then
ToBln=cbool(Wert)
anders
ToBln=false
Ende wenn
Funktion beenden
'****** vDecimal : Anzahl der Dezimalstellen
Öffentliche Funktion ToCur(ByVal Value)
if IsCur(Value) then
ToCur=ccur(Wert)
anders
ToCur=0
Ende wenn
Funktion beenden
'****** vType: Datumsformat
Öffentliche Funktion ToDat(ByVal Value)
if IsDat(Value) then
ToDat=cdate(value)
anders
ToDat=
Ende wenn
Funktion beenden
' ============================================== =============================
'Format
' ============================================== =============================
'************************************************** * ***
'FormatDat
'vdate
'vStyle 0:2008-1-30 1:2008/1/30 2:1/30/2008 3:30/1/2008 4:30-JAN-2008
' 10:2008-1 11:2008/1 12:1/2008
'22:JAN-2008
'30:2008-1-30 11:20:20
'40:2008-01-09
Öffentliche Funktion FormatDat(ByVal Value, ByVal vStyle)
dim dateThis,intStyle
dateThis=ToDat(Wert)
intStyle=ToInt(vStyle)
wenn dateThis= oder isnull(dateThis), dann
FormatDat =
anders
Dim arrMonthArray(12)
arrMonthArray(1)=JAN
arrMonthArray(2)=FEB
arrMonthArray(3)=MAR
arrMonthArray(4)=APR
arrMonthArray(5)=MAI
arrMonthArray(6)=JUN
arrMonthArray(7)=JUL
arrMonthArray(8)=AUG
arrMonthArray(9)=SEP
arrMonthArray(10)=OCT
arrMonthArray(11)=NOV
arrMonthArray(12)=DEZ
Wählen Sie case intStyle aus
Fall 1
FormatDat=cstr(year(dateThis)) &/& cstr(month(dateThis)) &/& cstr(day(dateThis))
Fall 2
FormatDat= cstr(month(dateThis)) &/& cstr(day(dateThis)) &/& cstr(year(dateThis))
Fall 3
FormatDat= cstr(day(dateThis)) &/& cstr(month(dateThis)) &/& cstr(year(dateThis))
Fall 4
FormatDat= cstr(day(dateThis)) &-& arrMonthArray(month(dateThis)) &-& cstr(year(dateThis))
Fall 10
FormatDat=cstr(year(dateThis)) &-& cstr(month(dateThis))
Fall 11
FormatDat=cstr(year(dateThis)) &/& cstr(month(dateThis))
Fall 12
FormatDat= cstr(month(dateThis)) &/& cstr(year(dateThis))
Fall 22
FormatDat= arrMonthArray(month(dateThis)) &-& cstr(year(dateThis))
Fall 30
FormatDat= cstr(year(dateThis)) &-& cstr(month(dateThis)) &-& cstr(day(dateThis)) & &hour(dateThis) &:& minute(dateThis) &:& second(dateThis)
Fall 40
FormatDat=cstr(year(dateThis)) &-& ZeroPad(cstr(month(dateThis)),2) &-& ZeroPad(cstr(day(dateThis)),2)
Fall anders
FormatDat=cstr(year(dateThis)) &-& cstr(month(dateThis)) &-& cstr(day(dateThis))
Ende auswählen
Ende wenn
Funktion beenden
'******************
'FormatCur
'******************
Öffentliche Funktion FormatCur(ByVal Value,ByVal vDecimal)
FormatCur=Formatcurrency(ToCur(Value),ToInt(vDecimal))
Funktion beenden
Öffentliche Funktion FormatNum(ByVal Value,ByVal vDecimal)
FormatNum=FormatNumber(ToDbl(Value),ToInt(vDecimal))
Funktion beenden
' ============================================== =============================
'Anderes Format
' ============================================== =============================
Öffentliche Funktion ToPer(Byval value,Byval value0)
wenn Convert.ToDbl(value0)<>0 dann
ToPer = me.FormatNum( Convert.ToDbl(value) / Convert.ToDbl(value0) * 100,2 ) & %
anders
ToPer = 0,00 %
Ende wenn
Funktion beenden
'****** Wert -> Wert erster Code in Großbuchstaben ändern
Öffentliche Funktion FirstUppercase(ByVal-Wert)
value0 = trim(value)
wenn len(value0)=0 dann
FirstUppercase=
anders
FirstUppercase = UCase(left(value0,1)) & right(value0,len(value0)-1)
Ende wenn
Funktion beenden
Öffentliche Funktion SafeSql(ByVal-Wert)
SafeSql = replace(value,','')
Funktion beenden
Unterricht beenden