Pertama -tama, kita perlu tahu
Cint Range -32.768 hingga 32.767.
CLNG Range -2.147.483.648 hingga 2.147.483.647.
Cint dan CLNG berarti:
Anda dapat memaksa ekspresi ke tipe data
Ruang lingkup pemrosesan data oleh Cint dan Clng:
Cinteger -32.768 hingga 32.767, bagian desimal dibulatkan.
CLNG Long -2.147.483.648 hingga 2.147.483.647, bagian desimal dibulatkan.
Luapan yang disebut mengacu pada melebihi ruang lingkup pemrosesan data. Kode berikut adalah kode untuk memproses data untuk mencegah overflow. Anda dapat melihatnya sendiri:
'Deteksi apakah itu bilangan bulat pendek
Salinan kode adalah sebagai berikut:
sub is_int (string)
if len (abs (string))> 10 lalu response.write "data overflow": response.end
if instr (string, "-") <1 lalu
jika cint (kiri (string, 4))> 3276 dan cint (kanan (string, 1))> 7 lalu response.write "data overflow": response.end
kalau tidak
jika cint (kiri (abs (string), 4))> 3276 dan cint (kanan (string, 1))> 8 lalu response.write "data overflow": response.end
akhiri jika
akhir sub
'Deteksi apakah itu bilangan bulat panjang
Salinan kode adalah sebagai berikut:
sub is_lng (string)
if len (abs (string))> 10 lalu response.write "data overflow": response.end
if instr (string, "-") <1 lalu
jika clng (kiri (string, 9))> 214748364 dan clng (kanan (string, 1))> 7 lalu respons.write "data overflow": response.end
kalau tidak
jika clng (kiri (abs (string), 9))> 21478364 dan clng (kanan (string, 1))> 8 lalu response.write "data overflow": response.end
akhiri jika
akhir sub
Berikut ini adalah beberapa fungsi tes, teman yang membutuhkannya dapat merujuknya:
Tipe pertama:
1. Mendeteksi apakah itu bilangan bulat
Salinan kode adalah sebagai berikut:
functionis_int (a_str)
ifnotisnumeric (a_str) orlen (str)> 5then
Is_int = false
fungsi keluar
elseiflen (str) <5then
Is_int = true
fungsi keluar
endif
ifcint (kiri (a_str, 4))> 3276then
Is_int = false
fungsi keluar
elseifcint (kiri (a_str, 4)) = 3276andcint (kanan (a_str, 1))> 7then
Is_int = false
fungsi keluar
kalau tidak
Is_int = true
fungsi keluar
endif