ก่อนอื่นเราจำเป็นต้องรู้
ช่วง 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 (สตริง)
ถ้า len (abs (string))> 10 แล้วตอบกลับเขียน "data overflow": response.end
ถ้า instr (string, "-") <1 แล้ว
ถ้า cint (ซ้าย (สตริง, 4))> 3276 และ cint (ขวา (สตริง, 1))> 7 จากนั้น response.write "data overflow": response.end
อื่น
ถ้า cint (ซ้าย (abs (abs), 4))> 3276 และ cint (ขวา (string, 1))> 8 จากนั้น response.write "data overflow": response.end
สิ้นสุดถ้า
สิ้นสุดย่อย
'ตรวจพบว่ามันเป็นจำนวนเต็มที่ยาวหรือไม่
การคัดลอกรหัสมีดังนี้:
sub is_lng (สตริง)
ถ้า len (abs (string))> 10 แล้วตอบกลับเขียน "data overflow": response.end
ถ้า instr (string, "-") <1 แล้ว
ถ้า clng (ซ้าย (สตริง, 9))> 214748364 และ clng (ขวา (สตริง, 1))> 7 จากนั้นตอบกลับเขียน "ข้อมูลล้น": response.end
อื่น
ถ้า clng (ซ้าย (abs (string), 9))> 21478364 และ clng (ขวา (สตริง, 1))> 8 จากนั้นตอบกลับเขียน "ข้อมูลล้น": response.end
สิ้นสุดถ้า
สิ้นสุดย่อย
ต่อไปนี้เป็นฟังก์ชั่นการทดสอบเพื่อนที่ต้องการมันสามารถอ้างถึงได้:
ประเภทแรก:
1. ตรวจพบว่าเป็นจำนวนเต็มหรือไม่
การคัดลอกรหัสมีดังนี้:
functionis_int (a_str)
ifnotisnumeric (a_str) Orlen (str)> 5 จากนั้น
IS_INT = FALSE
exitfunction
elseiflen (str) <5 จากนั้น
is_int = true
exitfunction
endif
ifcint (ซ้าย (a_str, 4))> 3276 แล้ว
IS_INT = FALSE
exitfunction
elseifcint (ซ้าย (a_str, 4)) = 3276andcint (ขวา (a_str, 1))> 7 จากนั้น
IS_INT = FALSE
exitfunction
อื่น
is_int = true
exitfunction
endif