まず第一に、私たちは知る必要があります
CINT範囲-32,768〜32,767。
CLNG範囲-2,147,483,648〜2,147,483,647。
CINTとCLNGの意味:
式をデータ型に強制することができます
CINTおよびCLNGによるデータ処理の範囲:
Cinteger -32,768〜32,767、小数点は丸くなっています。
clng long -2,147,483,648から2,147,483,647、小数部は丸みを帯びています。
いわゆるオーバーフローとは、処理データの範囲を超えることを指します。次のコードは、オーバーフローを防ぐためにデータを処理するコードです。あなたはそれを自分で見ることができます:
'短い整数であるかどうかの検出
コードコピーは次のとおりです。
sub is_int(string)
len(abs(string))> 10の場合、response.write "data overflow":Response.End
if strunt(string、 " - ")<1 then
cint(left(string、4))> 3276 and cint(右(string、1))> 7の場合、response.write "data outrflow":Response.End
それ以外
cint(left(abs(string)、4))> 3276およびcint(right(string、1))> 8の場合、response.write "data overflow":respons.end
ifを終了します
End Sub
'長い整数であるかどうかの検出
コードコピーは次のとおりです。
sub is_lng(string)
len(abs(string))> 10の場合、response.write "data overflow":Response.End
if strunt(string、 " - ")<1 then
clng(左(string、9))> 214748364およびclng(右(string、1))> 7の場合、response.write "data overflow":respons.end
それ以外
clng(左(abs(string)、9))> 21478364およびclng(右(string、1))> 8の場合、response.write "data overflow":respons.end
ifを終了します
End Sub
以下はいくつかのテスト関数です。それを必要とする友人はそれを参照できます:
最初のタイプ:
1.整数であるかどうかを検出します
コードコピーは次のとおりです。
functionis_int(a_str)
ifnotisnumeric(a_str)orlen(str)> 5then
is_int = false
exitFunction
elseiflen(str)<5then
is_int = true
exitFunction
endif
ifcint(左(a_str、4))> 3276then
is_int = false
exitFunction
elseifcint(左(a_str、4))= 3276andcint(右(a_str、1))> 7then
is_int = false
exitFunction
それ以外
is_int = true
exitFunction
endif