Zunächst müssen wir es wissen
CINT -Bereich -32.768 bis 32.767.
CLNG -Bereich -2.147.483.648 bis 2.147.483.647.
Cint und clng Bedeutung:
Sie können einen Ausdruck zu einem Datentyp erzwingen
Der Umfang der Datenverarbeitung durch CINT und CLNG:
Cinterer -32.768 bis 32.767, Dezimalabschnitte werden abgerundet.
CLNG Long -2.147.483.648 bis 2.147.483.647, der Dezimalteil ist abgerundet.
Der sogenannte Überlauf bezieht sich auf den Umfang der Verarbeitungsdaten. Der folgende Code ist der Code, um Daten zu verarbeiten, um Überlauf zu verhindern. Sie können es sich selbst ansehen:
'Erkennung, ob es sich um eine kurze Ganzzahl handelt
Die Codekopie lautet wie folgt:
sub is_int (String)
Wenn Len (ABS (String))> 10 dann Antwort.Write "Datenüberlauf": Antwort.end
Wenn Instrument (String, "-") <1 dann
Wenn cint (links (String, 4))> 3276 und Cint (rechts (rechte (String, 1))> 7, dann Antwort.Write "Datenüberlauf": Antwort.end.end
anders
Wenn cint (links (ABS (String), 4))> 3276 und Cint (rechts (String, 1))> 8, dann Antwort.Write "Datenüberlauf": Antwort.end
Ende wenn
Ende sub
'Erkennung, ob es eine lange ganze Zahl ist
Die Codekopie lautet wie folgt:
sub is_lng (String)
Wenn Len (ABS (String))> 10 dann Antwort.Write "Datenüberlauf": Antwort.end
Wenn Instrument (String, "-") <1 dann
Wenn clng (links (String, 9))> 214748364 und CLNG (rechts (String, 1))> 7, dann Antwort "Datenüberlauf": Antwort.end.end
anders
Wenn clng (links (ABS (String), 9))> 21478364 und CLNG (rechts (String, 1))> 8, dann Antwort "Datenüberlauf": Antwort.end.end
Ende wenn
Ende sub
Im Folgenden sind einige Testfunktionen aufgeführt, Freunde, die es brauchen, können sich darauf beziehen:
Der erste Typ:
1. Erkennen Sie, ob es sich um eine Ganzzahl handelt
Die Codekopie lautet wie folgt:
functionis_int (a_str)
ifnotisnumeric (a_str) orlen (str)> 5Then
Is_int = false
Ausgangsfunktion
Elseiflen (str) <5Then
Is_int = true
Ausgangsfunktion
Endif
ifcint (links (a_str, 4))> 3276Then
Is_int = false
Ausgangsfunktion
elseifcint (links (a_str, 4)) = 3276andcint (rechts (a_str, 1))> 7Then
Is_int = false
Ausgangsfunktion
anders
Is_int = true
Ausgangsfunktion
Endif