우선, 우리는 알아야합니다
Cint Range -32,768 ~ 32,767.
CLNG 범위 -2,147,483,648 ~ 2,147,483,647.
고린 및 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
악기 (문자열, "-") <1 인 경우
cint (왼쪽 (string, 4))> 3276 및 cint (오른쪽 (String, 1))> 7 인 경우 response.write "data overflow": response.end
또 다른
cint (왼쪽 (abs (string, 4))> 3276 및 cint (오른쪽 (String, 1))> 8 인 경우 response.write "data overflow": response.end
끝 If
종료 서브
'긴 정수인지 여부를 탐지합니다
코드 사본은 다음과 같습니다.
sub is_lng (string)
len (abs (string))> 10 인 경우 response.write "data overflow": response.end
악기 (문자열, "-") <1 인 경우
clng (왼쪽 (string, 9))> 214748364 및 clng (오른쪽 (string, 1))> 7 인 경우 response.write "data overflow": response.end
또 다른
clng (왼쪽 (abs (string, 9))> 21478364 및 clng (오른쪽 (String, 1))> 8 인 경우 response.write "data overflow": response.end
끝 If
종료 서브
다음은 몇 가지 테스트 기능이며 필요한 친구는 다음을 참조 할 수 있습니다.
첫 번째 유형 :
1. 정수인지 여부를 감지하십시오
코드 사본은 다음과 같습니다.
functionis_int (a_str)
ifnotisnumeric (a_str) orlen (str)> 5then
is_int = false
종료 기능
elseiflen (str) <5then
is_int = true
종료 기능
endif
ifcint (왼쪽 (a_str, 4))> 3276then
is_int = false
종료 기능
elseifcint (왼쪽 (a_str, 4)) = 3276andCint (오른쪽 (a_str, 1))> 7then
is_int = false
종료 기능
또 다른
is_int = true
종료 기능
endif