728x90
empty.gif
lecture Home>ASP with DY

Dukyoung's ASP for beginner

 사용자 삽입 이미지 강좌 최초 작성일 : 2003년 07월 08일
 사용자 삽입 이미지 강좌 최종 수정일 : 2004년 02월 24일

 사용자 삽입 이미지 강좌 읽음 수 :59313 회

 사용자 삽입 이미지 작성자 : Dukyoung(김 덕영)
 사용자 삽입 이미지 편집자 : Taeyo(김 태영)

 사용자 삽입 이미지 강좌 제목 :ASP 기본 문법 II

강좌 전 태오의 잡담>

갈수록 인기폭발하고 있는 덕방구님의 강좌입니다!!! 호호홋~~




안녕하세요. 초보자를 위한 ASP 강좌 오늘은 그 7번째 시간입니다.
지난 시간에 우리는 ASP 에서 사용되는 기본 문법에 몇가지에 대해서 잠시 살펴 보았습니다.

오늘 역시 기본 문법에 해당하는 내용으로..
ASP 에서 사용되는 '데이터들의 타입(Data Type)' 에 대해서 알아보려고 합니다. 그리고, 그 지식을 기반으로 하여 하나의 타입을 다른 타입으로 변환하는 함수들에 대해서 살펴 보고자 합니다.

'데이터 타입' 이라는 용어를 딱딱하게 생각하실 필요는 없습니다.
우리가 변수에 어떤 값을 넣을 때, 그것이어떤 형식의 값인지를 알아보려는 것 뿐이니까요.
ASP 상에서 어떤 변수에숫자, 문자, 날짜처럼 각각 다른 타입의 값을 넣으려 할 때
어떻게 해야 하는지, 그리고 그것들의 차이는 무엇이 있는지를 알아보려 하는 것입니다.

자, 그럼 오늘의 강좌를 시작하도록 하겠습니다.
오늘 생각해보고자 하는 '데이터 타입' 의 종류를 정리하면 다음과 같습니다.

데이터 타입
1. 숫자 서브 타입 정수나 분수, 또는 부동 소수점 등 다섯 개의 타입이 있다.
2. 문자열 서브 타입 텍스트 정보를 보관한다.
3. 날짜 서브 타입 날짜와 시간을 보관하는 데 쓰이는, 미리 정해진 타입이다.
4. 부울린 서브 타입 참, 거짓을 의미하는 TRUE 또는 FALSE 값 중 하나를 가진다.
5. 그 외의 서브 타입 Empty, Null 등을 알아본다.

자, 그럼 위의 내용들을 하나하나 자세하게 살펴보도록 하겠습니다.

1.숫자 서브 타입

변수에 숫자가 들어가면 그것이 바로 '숫자 서브 타입' 이 됩니다.
하지만 숫자의 크기에 따라서 다음 여섯 가지 정도의 타입으로 다시 나눌 수가 있습니다.

1-1.정수(Integer)- 숫자 타입 중에서 가장일반적으로 쓰이는 타입입니다.
    -32,768 부터 32,767 사이의 정수가 바로 이 Integer 타입에 해당하게 됩니다.
    (참고로 32,767은 2의 15승에서 1을 뺀 숫자가 되겠습니다.)

1-2.바이트(Byte)- 바이트라는 말.. 많이 들어보셨지요?
    0부터 255까지의 정수(2의 8승 - 1)가 Byte 타입에 해당합니다.
    이 타입은기본적인 숫자의 연산에 사용되는 타입입니다.

1-3.긴 정수(Long)- 이름부터 벌써 '긴' 타입입니다.
    이것은 Integer 타입과 유사하지만훨씬 더 큰 수를 지원하는 타입입니다.
    -2,147,483,648 부터 2,147,483,647 사이의 정수(2의 31승 - 1)가
    이 Long 타입에 해당합니다.

1-4.싱글(Single)- 싱글이라는 말 때문에 작은 숫자를 연상하실지도 모르겠습니다.
    하지만 싱글은 예상과는 달리 -3.402823E38 부터 -1.401298E-45 까지의 음수,
    그리고 1.401298E-45 부터 3.402823E38 까지의 양수단정도 부동소수점
    (單精度 浮動小數點)을 지원하는 타입입니다.

1-5.더블(Double)- 더블이라.. 아무래도 싱글보다는 곱빼기로 큰 타입 같지 않습니까?
    맞습니다. 하지만 두배가 아닌 훨씬 더 엄청난 범위를 지원하는 데이터 타입이 되겠습니다.
    음수에 대해서는 -1.79769313486232E308 부터 -4.94065645841247E-324 까지,
    양수에 대해서는 4.94065645841247E-324 부터 1.79769313486232E308 까지의
    배정도 부동소수점(倍精度 浮動小數點) 을 지원합니다.

1-6. 통화(Currency) - Currency 타입은 '화폐 단위' 를 의미하는 데이터 타입입니다.
    이 타입은 소숫점 네자리까지의 숫자를 지원하는데요. 지원하는 범위는
    -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 까지 입니다.

2.문자열 서브 타입

문자열 서브 타입은 말 그대로 '문자열' 을 보관합니다.
문자열 서브 타입을 정의하기 위해서는 문자열의 앞뒤에 큰 따옴표(")를 붙여주면 됩니다.
자, 그럼 여기서 깜짝 퀴즈를 하나 드리겠습니다. 다음의 예를 BoA주세요.

Dim strFirst, strSecond, strPlus
strFirst = "139"
strSecond = "52"
strPlus = strFirst + strSecond

이 과정을 모두 거친 후에 strPlus 라는 변수에는 어떤 값이 들어 있을까요?

"191" 이라고 답변하신 분들은 함정에 보기 좋게 넘어간 분들이십니다.
strPlus 변수에 들어있는 값.. 정답은 "13952" 가 됩니다.

두 변수에 들어 있는 값이 비록 숫자라고 하더라도,큰 따옴표 안에 있기 때문에
이것은 '숫자 서브 타입' 이 아닌 '문자열 서브 타입' 이 되는 것입니다.
그러므로 "139" 라는 문자열과 "52" 라는 문자열이 합쳐져서
"13952" 라는 새로운 문자열이 만들어지게 되는 것이지요. 이해가 되시지요?
조만간 우리는 이 '문자열' 을 자유자재로 다루는 함수들에 대해서 만나게 될 것입니다.

3.날짜 서브 타입

'날짜 정보' 를 저장하는 날짜 서브 타입을 사용하려면, 정해진 규칙을 사용해야만 합니다.
표현하고자 하는날짜의 앞뒤에 '#' 기호로 둘러 싸는 것이 바로 그 규칙이 되겠습니다.
예를 들어 1975년 1월 19일을 날짜 서브 타입으로 나타내면 다음과 같습니다.

#01/19/1975#


만약 여기서'#' 기호를 빼고 사용하면어떻게 될까요?
이 경우 ASP 에서는 '날짜 서브 타입' 이 아닌 '숫자 서브 타입' 으로 인식하게 됩니다.
그러므로 우선 1 에서 19를 나누고, 그 결과 값에 다시 1975를 나눈..
2.66489007328448E-05 라는 전혀 엉뚱한 값으로 인식하게 되는 것이지요.
그렇다면.. 만약큰 따옴표를 사용하여 "01/19/1975" 라고 한다면 어떨까요?
네. 예상하신 대로 "01/19/1975" 라는문자열 값이 그대로 저장되게 될 것입니다.

어떻습니까? 이제 감을 좀 잡으시겠습니까?
그나저나.. 1975년 1월 19일이 무슨 날이냐고요?
음, 눈치가 빠른 분들께서는 바로 감 잡으셨을텐데... (저의 생일 되겠습니다. 하핫~.)

4.부울린(Boolean) 서브 타입

부울린 서브 타입이라는 말은 우리 말로 하면 '참, 거짓 서브 타입' 정도로 말할 수 있겠습니다.
즉 이 타입에서는참(TRUE) 아니면 거짓(FALSE)값만을 가질 수 있는 것이지요.
참고로 이 값을 ASP 상에서 정수형으로 변환할 수도 있는데요.
이 경우TRUE 는 -1의 값을,FALSE 는 0의 값을 가지게 됩니다. (상식으로 알아두세요.)
이 부울린 서브 타입은 지난 강좌에서 보신 대로 조건문(IF ~ THEN) 에서 주로 사용됩니다.

5.그 외의 서브 타입

그 외의 특별한 타입으로는 Empty 와 NULL, Object, Error 등이 있는데요.
우리는 이중에서EmptyNULL에 대해서만 알아보도록 하겠습니다.
('왜 그것들만?' 이라고 생각하셨지요? 나머지 타입들은 잘 사용되지 않기 때문입니다.)

5.1Empty- Empty 라는 단어의 사전적인 의미는 '비어있다' 는 뜻입니다.
    마찬가지로 Empty 변수는 '값을 전혀 가지고 있지 않다' 는 뜻으로 사용됩니다.
    (주의해야 할 점은 Empty = 0 이 아니라는 것입니다. 0은 분명히 유효한 값입니다.)

5.2NULL- 이것은 데이터베이스와 연결하여 사용되는 특별한 데이터 타입입니다.
    (혹시 데이터베이스가 무엇인지 모르신다 하더라도 신경쓰지 마시고 그냥 읽어주세요.)
    아무 것도 아니고, 데이터 타입도 아니고, 데이터를 가지고 있지도 않은 것...
    이것이 바로 NULL 의 의미가 되겠습니다.
    이 NULL 에 대해서는 나중에 Database 강좌에서 자세히 다루도록 하겠습니다.

    헷갈리지 말아야 하는 것은.. 아무 것도 아니라고 하는 말을 오해하여
    0 또는 빈 문자열, 빈 공간, 길이가 0인 문자열 등과 혼동해서는 안된다는 것입니다.
    이것들은 분명히 '어떤 값' 입니다. NULL 은 '아무 것도 아니라는' 것에 유의하셔야 합니다.


자, 여기까지!! ASP 에서 사용되는 여러가지 데이터 타입에 대해서 살펴보았습니다.
어떻습니까? ASP 에서 (엄밀하게 말하자면VBScript에서) 사용되는 데이터 타입들이
상당히 다양하고, 또 매우 정교하게 구성되어 있다는 생각이 들지 않나요?

재미있는 사실을 한가지 말씀드리자면..
다른 대부분의 프로그램 언어에서는 변수를 선언할 때 '이 변수에는 숫자가 들어가' 또는 '이 변수에는 문자열이 들어가' 라고데이터 타입을 작성자가 미리 정확하게 입력해 주어야만 합니다.
(만약 '숫자 서브 타입' 으로 설정한 변수에 문자열을 입력하면 오류가 발생하게 됩니다.)
하지만ASP 에서는 그럴 필요가 없습니다. 자기가 알아서 다~ 변환시켜 주거든요.

즉, a 라는 변수가 있다고 가정하고 이 변수에 5 라는 값(숫자 서브 타입)을 입력했다가,
다시 그 a 변수에 "에이" 라는 값(문자열 서브 타입)을 입력할 수 있다는 말이 되겠습니다.

이것은 비록 몇 가지의 단점이 있을 수 있고, 성능의 저하를 유발할 가능성이 있지만,
우리와 같은 초보들에게는 상당히 반가운 소식이라고 할 수 있겠습니다.
변수에 어떤 타입의 값을 넣어도 ASP 에서 알아서 처리해 준다는 뜻이니까요.

자, 이제 여러분은 ASP 에서 사용되는 '데이터 타입' 에 대해서 살펴보았습니다.
비록 ASP 에서 자체적으로 타입을 결정해 준다고는 하지만,
그렇다고 해서 어떤 타입들이 있는지 조차 모르고 프로그래밍을 하면 곤란하지 않을까요?

그렇습니다...  일단 여기까지 OK!!!

그렇다면, 이번에는 앞에서 배운 내용을 토대로..
하나의 타입을 다른 타입으로 변환하는 함수들에 대해서 살펴 보고자 합니다.

타입의 변환이라.. 그 의미를 말씀드리자면 다음과 같습니다.
지난 시간에 우리는 ASP 에서 어떤 변수에 값을 입력할 때,
그 값의 형식이 자동적으로 결정되어진다는 사실을 알게 되었습니다.

이것은 우리가 변수의 타입을 신경쓰지 않아도 되므로 편리하다는 장점이 있습니다.
하지만.. 애초에 기대했던 타입으로 들어가지 않을 수도 있다는 우려 또한 존재할 수 있는데요.
그럴 때를 대비해서 ASP 에서는 다른 타입으로 변환시켜주는 많은 함수들을 제공합니다.
오늘은 그렇게 '타입을 변환시켜 주는 함수들' 에 대해서 알아보고자 합니다.

그러면 오늘 공부해 볼 함수들을 표로 한번 정리해 보도록 하겠습니다.
(파란 글자 처리가 된 것은 특히 자주 사용되는 함수들입니다. 주의깊게 보아 주세요.)

변환 함수
1. 숫자 서브 타입 관련 CInt,CLng, CByte, CSng, CDbl, CCur, Fix, Int, Abs
2. 문자열 서브 타입 관련 CStr, Asc, AscB, AscW, Chr, ChrB, ChrW
3. 날짜 서브 타입 관련 CDate, DateValue, TimeValue, DateSerial, TimeSerial
4. 부울린 서브 타입 CBool
5. 기타 변환 함수 Hex, Oct, Sgn

나열하다보니 꽤 많군요. 그럼 이제부터 하나씩 알아보도록 할까요?

1.숫자 서브 타입 관련
1-1.CInt, CLng

CInt 와 CLng 함수는 숫자형으로 변환하는 함수 중에가장 많이 쓰이는 함수입니다.
CInt는 정수형(Integer), CLng 는 긴 정수형(Long)의 값으로 변환시켜 주는 함수지요.

예를 들자면 다음과 같습니다.

DIM intFirst, intSecond, intPlus
intFirst = "200"
intSecond = "400"
intPlus = intFirst + intSecond

이 경우 intPlus 의 값은 600 이 아닌 "200400" 이 된다는 말씀을 지난 강좌에서 드렸지요?
(200 과 400 의 앞뒤에 큰 따옴표가 있기 때문에문자열 서브 타입이 되기 때문입니다.)
이것을 CInt 함수를 써서 변환시키면 어떻게 될까요?

intFirst = CInt ("200")
intSecond = CInt ("400")
intPlus = intFirst + intSecond

이제 intPlus 에는 우리가 원하던대로 600 이라는 값이 들어가게 됩니다.
이처럼CInt는 인자로 들어온 값을'숫자 서브 타입' 으로 변경해주는 함수입니다.

그런데 만약 intSecond = CInt ("50000") 와 같이 사용하면 어떻게 될까요?
네.. 이 경우에는 '오버플로' 라는 오류를 만나게 됩니다.
정수형(Integer)의 한계치인 32,767 을 넘어갔기 때문이지요.
이때에는 CLng 를 사용하여 intSecond = CLng ("50000") 과 같이 사용하시면 되겠습니다.

그리고 CInt 와 CLng 는 정수형 타입이므로 소수점을 포함한 숫자가 인자로 들어온다면
'반올림한 정수' 를 돌려준다는 사실을 추가적으로 기억해 주시기 바랍니다.
(한가지 재미있는 규칙은..정확하게 절반인 경우에는 가장 가까운 짝수를 반환합니다.
즉 CInt (0.5) 인 경우에는 0을, CInt (1.5) 인 경우에는 1을 반환한다는 것이지요.)

또한, 주의하실 점을 한가지 알려드리자면..
CInt 나 CLng 에 '숫자로 변환할 수 없는 값' 을 넣는다면오류가 발생한다는 것입니다.
(예를 들어 CInt ("abc") 나 CInt ("오십삼") 처럼은 사용하실 수 없다는 뜻이지요.)

1-2.CByte, CSng, CDbl, CCur

그렇다면 이제 CByte와 CSng, CDbl, CCur 등의 함수의 용도도 대충 짐작이 가시겠지요?
CByte 는 CInt 와 마찬가지로 정수 값을 반환해 줍니다. (반올림 규칙도 일치합니다.)
하지만 변환된 값이 0 ~ 255 사이의 값이 아니라면 오류가 발생합니다.

CSng 와 CDbl 도 각각 Single, Double 형의 값을 반환해 주는데요.
예를 들어서 다음 두 변수에 같은 값을 인자로 주었다고 가정해 보겠습니다.

intFirst = CSng ("12345.54321")
intSecond = CDbl ("12345.54321")

이때 intFirst 값은 12345.54, intSecond 값은 12345.54321 으로 나타나게 됩니다.
(결과 자체보다는..CSng 보다 CDbl 이 정밀하다는 사실을 기억해두시기 바랍니다.)

CCur 역시 CSng, CDbl 과 마찬가지이지만 '통화' 용도로 사용된다는 설명을 드렸었지요?
CCur 은 특이하게도소수점 5자리에서 반올림을 하게 됩니다.
즉, CCur ("12345.54321") 이라고 한다면 12345.5432 라는 값이 반환되는 것이지요.

1-3.Fix, Int, Abs

Fix 와 Int 는 모두 '잘라내기를 통해 숫자의 정수 부분을 반환' 하는 함수입니다.
즉 Fix (9.8) 이나 Int (9.8) 모두 똑같이 9 라는 값을 반환한다는 뜻이지요.
그렇다면 이 두 함수의 차이는 무엇일까요? 그것은 바로음수의 처리에 있습니다.
쉽게 말씀드리자면 Fix (-9.8) 은 -9를, Int (-9.8) 은 -10을 반환한다는 의미인 것입니다.
(즉, Fix 는 소수점 이하 숫자를 없애버리는 것이고, Int 는 '내림' 을 하는 것이지요.)

Abs 는 수학에서 많이 쓰이는 함수인데요..절대값을 반환합니다.
즉 Abs (-3.5) 나 Abs (3.5) 모두 3.5 라는 값을 반환하게 되지요.

2.문자열 서브 타입 관련
2-1.CStr

CStr 은 말 그대로'문자열' 로 바꾸어주는 함수가 되겠습니다.
예를 들어서 intFirst 라는 변수를 선언한 다음, intFirst = 503 이라고 한다면
intFirst 변수에는 자동적으로 503 이라는 '숫자 서브 타입의 값' 이 들어가게 될 것입니다.
이때, strFirst = CStr(intFirst) 라는 구문을 실행하게 되면
strFirst 에는 "503" 이라는 '문자열 서브타입의 값' 이 들어가게 되는 것이지요.

2-2.Asc, AscB, AscW

Asc 함수는 문자열 첫 글자의 'ANSI 문자 코드' 를 반환합니다.

여기서 잠깐!!
사용자 삽입 이미지

ANSI ('안시'라고 읽지요) 문자 코드? 이게 무슨 말일까요?
ANSI 란 'American National Standards Institute' 의 약자이며,
미국 내에서 기술표준 개발을 육성하기 위해 설립된 '미국 표준 협회' 를 의미합니다.

얘네들이 컴퓨터에 관한 표준을 제정한 것이 몇가지가 있는데,
그중에 우리가 알아두면 좋은 것이 '아스키(ASCII)' 라는 녀석입니다..
ASCII 는 'American Standard Code for Information Interchange' 의 약자로서
'컴퓨터나 인터넷상에서 텍스트 파일을 위한 가장 일반적인 형식' 을 의미합니다.

아스키 파일에서는 우리가 키보드에서 입력하는 영문자, 숫자, 특수 문자들이
7 비트의 2 진수(0 또는 1로 이루어진 숫자 조합 7개를 뜻합니다) 로 표현되며,
모두 128 개의 문자가 정의되어 있습니다.

무슨 말인지 도무지 모르시겠다고요? 음.. 사실은 저도 써놓기만 했지 잘은 모릅니다. ^^
행여 잘 모르시겠다고 해서 스트레스 받지 마시고요. 누군가가 'ANSI' 가 어쩌고 'ASCII' 가 저쩌고 그러면 '아, 나 그거 쫌 알아~' 라고 살짝 웃으면서 답해주시면 되겠습니다.

우리가 키보드에서 입력하는 모든 문자들에는 각각 고유한 값이 있는데요.
그걸 정한 애들이 ANSI 이고, 그렇게 정의된 값들이 ASCII 값이다~
우선은 그정도만 알고 계셔도 크게 불편한 점은 없을 것 같습니다. ^^

에를 들어볼까요? Asc ("A") 의 값은 65, Asc ("B") 는 66, Asc ("C") 는 67...
이런식으로 진행하여 Asc ("Y") 는 89, Asc ("Z") 는 90 이라는 값이 됩니다.
(참고 삼아 말씀드리면, Asc 는대문자와 소문자의 값이 서로 다릅니다.
즉 Asc ("A") 는 65 지만, Asc ("a") 는 97 입니다. 혼동하시면 아니되옵니다.)

그 뒤에 나오는 AscB 와 AscW 함수는 우리가 사용할 일이 거의 없는 함수입니다만
쓰임새에 대해서만 간략하게 말씀드리자면... AscB 는 바이트에 대해 쓰이고,
AscW는 UNICODE를 이용하는 32-비트 플랫폼에서 이용된다고 하네요.

2-3.Chr, ChrB, ChrW

Chr 함수는Asc 의 반대 함수로,코드 값을 입력하면 그에 해당하는 문자를 반환합니다.
즉, Chr (65) 라고 하면 "A" 라는 값을 반환한다는 의미가 되지요.

마찬가지로 ChrB 와 ChrW 함수도 각각 AscB 와 AscW 함수의 반대 함수가 되겠습니다.

참고로.. 큰 따옴표(")를 의미하는 Chr (34) 번이나, 글의 내용을 입력하는 TEXTAREA 에서
개행을 의미하는 Chr (13), Chr (10) 같은 함수들은 꽤 빈번하게 쓰이는 편이니까요.
이것들은 상식으로 알아두시면 나중에 유용하게 사용할 때가 있을 것입니다.

3.날짜 서브 타입 관련
3-1.CDate

CDate 함수는 인자로 들어온 값을'날짜형' 으로 바꾸어 주는 함수입니다.
하지만 인자에 '날짜로 변환할 수 없는 형식의 값' 이 들어오면 오류를 발생시킵니다.
예를 들면 다음과 같습니다.

CDate ("2003년 7월 16일 19:00")

이 함수의 결과는 '2003-07-11 오후 7:00:00' 이 됩니다.
하지만 다음처럼 컴퓨터가 알아볼 수 없는 형식의 문자열을 넣으면 오류를 발생시킵니다.

CDate ("이천삼년 칠월 십육일 일곱시")

'그렇다면 컴퓨터가 알아먹는 날짜 형식이 어떤건데?' 라고 질문이 나올 법 한데요.
이럴 때를 대비해서 ASP 는ISDATE라는 함수를 제공합니다.
이 함수는'날짜형' 으로 변환이 가능한지 아닌지를 알려줍니다.
즉 ISDATE ("2003년 7월 16일 19:00") 은 변환이 가능하므로 True 값을 반환하게 되고요.
ISDATE ("이천삼년 칠월 십육일 일곱시") 는 변환이 불가능하므로 False 값을 반환합니다.

3-1.DateValue, TimeValue, DateSerial, TimeSerial

날짜 서브 타입 관련 함수 중에서 조금 더 세분화 된 함수들이 있는데요.
날짜에 관련된 함수로는 DateValue, DateSerial 이 있고,
시간에 관련된 함수로는 TimeValue, TimeSerial 이 있습니다.

DateValue 와 DateSerial 함수는 결과값으로 모두 '년-월-일' 을 반환하는데요.

DateValue ("2003년 7월 16일 19:00:32")
DateSerial (2003,7,16)

이렇듯DateValue인자가 하나이고,DateSerial인자가 세개라는 차이가 있습니다.
(두 함수 모두 날짜를 반환하는 함수이므로.. 결과는 "2003-07-16" 으로 동일합니다.)

또한, 시간과 관련된 TimeValue 와 TimeSerial 함수는 '시-분-초' 를 반환합니다.

TimeValue ("2003년 7월 16일 19:00:32")
TimeSerial (19,0,32)

DateValue, DateSerial 함수와 사용법은 같다고 보셔도 무방하겠습니다.
위의 예제에서 보듯이TimeValue인자가 하나,TimeSerial인자가 세개입니다.
(결과는 두 함수 모두 "오후 7:00:32" 로 같다는 것은... 이미 짐작하고 계셨다고요?)

4.부울린 서브 타입 관련
4-1.CBool

CBool 함수는 참, 거짓을 판별하여True 와 False 값중 하나를 반환합니다.
CBool 함수의 인자로는 '숫자' 나 '유효한 식' 이 들어갈 수가 있는데요.
숫자가 인자로 들어가는 경우0일때는 False, 나머지 숫자인 경우에는 True 를 반환합니다.
예를 들면 다음과 같이 되는 것이지요.

CBool(0) ->False를 반환합니다.
CBool(1) ->True를 반환합니다. (0이 아닌 다른 모든 수)

식이 들어가는 경우의 예를 들어보면 다음과 같은데요.

CBool ("a" = "a") ->True를 반환합니다.
CBool ("a" = "b") ->False를 반환합니다.

하지만 CBool ("exhibition") 과 같이 '숫자' 도 '식' 도 아닌..
단순한 문자열을 넣는 경우에는 오류를 발생시키므로 주의하셔야 하겠습니다.

5.기타 변환 함수
5-1.Hex, Oct, Sgn

자주 쓰이지는 않지만 알아두면 좋을 변환 함수로는 Hex, Oct, Sgn 등이 있습니다.

우선 Hex 함수는.. 인자로 들어온 값 (10진수) 의 '16진수로 변환된 값' 을 반환합니다.
즉, Hex (10) 라고 한다면 "A" 를 반환하게 되겠지요.
Oct 함수는 인자로 들어온 값 (10진수) 의 '8진수로 변환된 값' 을 반환합니다.
Oct (10) 이라고 하면 Hex 와는 달리 '12' 를 반환하게 됩니다.

(참고로.. Hex 는 hexadecimal, Oct 는 octal 의 약자로 각각 16진법, 8진법을 의미합니다.
8진법과 16진법에 대한 설명은 중학교 수학 교과서를 참고하시기 바랍니다. -_-a)

Sgn 함수는수의 부호를 나타내는 정수를 반환하는데요.
양수라면 1을, 음수라면 -1을, 그리고 0이라면 0을 반환합니다.

Sgn (52.3) -> 1 을 반환합니다.
Sgn (-2.5) -> -1 을 반환합니다.
Sgn (0) -> 0 을 반환합니다.


자, 오늘의 강좌는 여기까지입니다.
오늘 다룬 내용이 꽤 많아서 다소 혼란스러우실지도 모르겠네요.
위에서 말씀드렸지만, 가장 위에서 표로 정리해둔 내용들 중에파란 색 글씨로 표시된 함수들은
자주 사용하는 함수들이므로 신경써서 보아 두시는 것이 좋을 것 같습니다.

하지만.. 사실 이런 변환 함수들은 암기 과목 공부하듯이 미리 다 외워서 사용하는 것 보다는
프로그래밍 도중 만날때마다 그때그때 도움말을 찾아가면서 사용법을 익히는 것이
더 유리할 것 같다는 것이 개인적인 생각이기는 합니다. ^^
(그렇다고 해서 오늘 강좌의 내용을 얼렁뚱땅 넘어가라는 말씀은 절대~ 아닙니다.)

더운 날씨에 고생 많이 하셨습니다.
다음 강좌에서는 '문자열 관련 함수들' 에 대해서 살펴보려고 합니다.
그러면 다음 강좌까지 안녕히 계세요. ^^
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기