오늘은 JavaScript의 형변환에 대해서 알아보겠습니다. 하는 법이 있다는 것은 알고있는데 머리에 다 담고 살기는 너무 어려운 것 같습니다. 그러니 공부방에 정리해 놓아야 겠습니다.

 

 

일단 먼저 자바스크립트에서 변수를 선언하는 것부터 알아보겠습니다.

 

var 변수 = 10;

 

위에서 선언한 내용은 변수를 숫자 10으로 선언하는 것입니다.

 

var 변수 = "10";

 

얼핏보면 같은 것으로 생각 할수도 있지만 언어를 공부하신 분이라면 다들 눈치 채셨을 겁니다. 이번엔 변수를 문자열 10으로 선언하는 것입니다.

 

기존의 Java 같은 경우는 int 변수, String 변수 등 해당하는 형으로 선언하는 것이 맞지만 자바스크립트는 조금 다릅니다. 일단 모든 변수를 var로 선언 가능합니다.

 

- 문자형을 숫자형으로 변환하기

 

var 변수 = parseInt(문자);    //문자를 정수형 숫자로 변환해줌

var 변수 = parseFloat(문자);     //문자를 실수형 숫자로 변환해줌

var 변수 = Nember(문자);    //문자를 정수&실수형 숫자로 변환해줌

 

예제)

var x = "999";    //문자형 999

var y = "99.99";    //문자형 99.99

var a = parseInt(x);    //숫자형 정수 999

var b = parseInt(y);    //숫자형 정수 99

var a = parseFloat(x);    //숫자형 실수 999

var b = parseFloat(y);    //숫자형 실수 99.99

var a = Number(x);    //숫자형 정수 999

var b = Number(y);    //숫자형 실수 99.99

 

var x = "a999";    //문자형 a999

var y = "a99.99";    //문자형 a99.99

var a = parseInt(x);    //숫자형 NaN

var b = ParseInt(y);    //숫자형 NaN

var a = parseFloat(x);    //숫자형 NaN

var b = parseFloat(y);    //숫자형 NaN

var a = Number(x);    //숫자형 NaN

var b = Number(y);    //숫자형 NaN

 

※ 문자열 맨앞에 문자로 시작하면 형변환을 해도 값을 인식하지 못한다.

 

var x = "999a9";    //문자열 999a9

var y = "99.9a9";    //문자열 99.9a9

var a = parseInt(x);    //숫자형 999

var b = parseInt(y);    //숫자형 99

var a = parseFloat(x);    //숫자형 999

var b = parseFloat(y);    //숫자형 99.9

var a = Number(x);    //숫자형 NaN

var b = Number(y);    //숫자형 NaN

 

- 숫자형을 문자형으로 변환하기

 

 

var 변수 = String(숫자);    //숫자를 문자로 변환해줌

var 변수 = 숫자.toString(진법);    //숫자를 문자로 변환해줌 - 변환하면서 진법을 바꿀 수 있음

var 변수 = 숫자.toFixed(소수자리수);    //숫자를 문자로 변환해줌 - 실수형의 소수점 자리를 지정할 수 있음

var 변수 = 숫자 + "문자열";    //숫자와 문자열을 한 문자열로 더해줌

 

var x = 123;    //숫자형 123

var a = String(x);    //문자형 123

var a = x.toString();    //문자형 123

var a = x.toString(2);    //문자형 1111011(2진법)

var a = x.toString(16);    //문자형 7b(16진법)

var a = x.toFixed();    //문자형 123

var a = x.toFixed(1);    //문자형 123.0

 

var y = 99.999;    //숫자형 99.999

var a = x.toFixed();    //문자형 99

var a = x.toFixed(1);    //문자형 99.9

var a = x.toFixed(3);    //문자형 99.999

var a = x.toFixed(4);    //문자형 99.9990

 

확률을 표현해줄 때 유용하다.

 

var z = 9;    //숫자형 9

var a = a + "ElNino Torres";    //문자형 9ElNino Torres

 

이정도만 알고 있어도 자바스크립트를 사용하는데 편리할 듯 싶습니다. 추후에 기회가 되면 다른 메소드들도 알아보도록 해야겠습니다.

블로그 이미지

remoted

Remoted's IT LAB & POST DATABASE

댓글을 달아 주세요

자바스크립트를 사용하여 숫자의 자리수(자릿수)를 구하려면 어떤 방법이 있을까요? 아래에서 숫자가 몇 자리인지를 구하는 방법을 알아봅니다.

먼저 예를들어봅니다. 만약 12 또는 10,000이라는 숫자가 있는 경우 자릿수를 아래처럼 반환되도록 가져오려면 어떻게 할까요?

Ex) 12 -> 2를 반환 (2자리)
Ex) 10,000 -> 5를 반환 (5자리)


위와같이 숫자가 몇 자리인지 알아낸 후 그 결과를 반환하는 숫자만 가져오려고 합니다...


# 자바스크립트로 숫자의 자릿수 구하기가장 간단한 방법은 숫자를 문자로 바꾼후 해당 문자의 길이를 얻는 것입니다. 이 방법은 매우 쉬운데 문자 타입인 경우 문자열의 길이를 length를 사용해 가져올 수 있다는 점을 이용합니다. 아래 코드를 봐주세요.

var num = 12345;
num = num.toString();
numDigit = num.length;
console.log(numDigit);


실행하면 5를 출력합니다. 가장 간단합니다.


# 숫자를 문자로 바꾼 후 index의 값이 존재하는지를 확인하는 방법위 방법처럼 숫자를 바꾸나 length가 아닌 해당 위치에 값이 존재하는지의 여부로 자릿수를 찾는 방법입니다.

function getDigit(num) {
  num = num.toString();
  var i=0;
  while(num[i]) { i++; };
  return i;
}


위 함수는 해당 숫자의 자릿수를 반환합니다. 그럼 아래에서 직접 숫자를 입력 후 확인해보세요.

 getDigit(num)



Result: 

 

블로그 이미지

remoted

Remoted's IT LAB & POST DATABASE

댓글을 달아 주세요

// 4.1.1
// 배열에 뭔가가 들어있는지 여부를 확인하려는 거라면,
// 다음과 같이 코드를 작성하는 대신
if ( array.length > 0 ) ...
 
// 다음과 같이 작성하세요
if ( array.length ) ...
 
// 4.1.2
// 배열이 비어있다는 것만을 확인할 때에는,
// 아래처럼 작성하지 마시고
if ( array.length === 0 ) ...
 
// ...다음처럼 작성하세요:
if ( !array.length ) ...
 
// 4.1.3
// 문자열이 비어있지 않다는 것을 확인할 때에는,
// 다음처럼 작성하지 마시고
if ( string !== "" ) ...
 
// ...다음과 같이 작성하세요
if ( string ) ...
 
// 4.1.4
// 문자열이 _비어있다는 것_을 확인만 하는 경우라면,
// 다음처럼 작성하지 마시고:
if ( string === "" ) ...
 
// ...다음과 같이 작성해서, 거짓인지를 확인하세요.
if ( !string ) ...
 
// 4.1.5
// 참조 변수가 true인지 확인하려면,
// 다음처럼 작성하지 마시고
if ( foo === true ) ...
 
// ...그냥 아래처럼 써주세요. 기본 기능을 활용하면 됩니다:
if ( foo ) ...
 
// 4.1.6
// 어떤 참조 변수가 false인지 판정할 때에는,
// 다음처럼 작성하지 마시고
if ( foo === false ) ...
 
// ...true인지를 확인하도록 부정(!)을 사용하세요.
if ( !foo ) ...
 
// ...주의하세요. 이렇게 제안하면 foo의 값이 0, “”, null, undefined, NaN인 경우에도 참을 반환할 겁니다.
// foo가 불린값 false를 갖는지를 확인하는 경우라면, 아래와 같이 사용하세요.
if ( foo === false ) ...
 
// 4.1.7
// 어떤 변수가 있다고 하죠. 이 변수의 값은 null이나 undefined일 수는 있지만 false나 "", 또는 0의 값은 가지지 않습니다. 이런 변수를 판정할 때에는,
// 아래처럼 작성하지 마시고
if ( foo === null || foo === undefined ) ...
 
// ...강제형변환되는 ==를 사용하세요. 다음과 같이요:
if ( foo == null ) ...
 
// 그리고 이 점을 기억하세요. == 를 사용하면, 판정하려는 변수의 값이 `null` 이나 `undefined` 일 때, 참을 반환할 것입니다.
// 하지만 `false` 나 "" 나 0 값을 가질 때에는 거짓을 반환할 것입니다.
null == undefined
 


출처: https://skibis.tistory.com/263 [Skibi's Notepad]

skibis.tistory.com/263

블로그 이미지

remoted

Remoted's IT LAB & POST DATABASE

댓글을 달아 주세요