컴퓨터 세상/JavaScript

JavaScript - 숫자를 문자열로, 문자를 숫자열로, Boolean을 숫자나 문자로

Jimin Daddy 2020. 7. 18. 12:35

## JavaScript 내에서 숫자를 문자열로 바꾸기

 - 간단하게 숫자에 빈 문자열을 더하면 된다.

   var n = 100;

   var n_string = n + "";

 - 명시적으로 숫자를 문자열로 변환하려면 String() 함수를 사용

   var n_string = String(n);

 - 숫자를 문자열로 변환하는 또 다른 기법은 toString() 메서드를 사용

   var n_string = n.toString();

위와 같다.

## 문자열을 숫자로 바꾸기

  - 간단하게 문자에 0을 빼면 된다. (덧셈을 사용하면 이어 붙이기가 된다.)

     var n = "100"; // 문자열임.

     var n_number = n - 0;

  - Number() 생성자를 함수처럼 호출

    var number = Number(n);

  - 더 정확한 방법으로는 parseInt()와 parseFloat()가 있다. (많이 쓰임.)

    ex) parseInt("3 blind mice"); // 숫자 3 을 반환

         parseInt(12.34); // 12를 반환

         parseFloat("3.14 meters"); // 3.14를 반환

         parseFloat("0xFF"); // 16진수로 인식하여 10진수 255를 반환

    * parseInt()의 주의사항으로 0으로 시작하는 문자나 '0x' 또는 '0X'로 시작하는 문자에 사용하면 8진수나 10진수로 인식하거나 16진수로 인식할 수 있으므로 절대 사용하지 않아야 한다.

    * parseInt()의 경우 숫자의 기수를 지정하는 두번째 인자를 가질 수 있다.

      ex) parseInt("11", 2); // '3'을 반환. 11을 2진수로 인식하고 최종 10진수로 반환 (2진수로 11은 십진수 3임)

                                     (1x2 + 1 = 3)

          parseInt("ff", 16); // 255를 반환. ff를 16진수로 인식하고 최종 10진수로 반환

                                    (15x16+15 = 255)

          parseInt("077", 8) // 63을 반환. 77을 8진수로 인식하고 최종 10진수로 반환

                                     (7x8+7 = 63)

          parseInt("077",10) // 77을 반환. 10진수로 인식하여 10진수로 반환.

     * 문자를 숫자열로 변환하지 못할 경우 NaN 값을 반환

       parseInt("eleven"); // NaN 값 반환. 숫자가 없이 문자열만 있으므로 NaN값 반환.

       parseInt("$72.67"); // NaN 값 반환. $ 표시땜에 문자열로 인식함. 

## Boolean 값을 숫자나 문자로 변환

    - boolean 값이 true 일 경우 숫자형은 '1'을 반환하고 문자형은 'true'를 반환한다.

    - boolean 값이 false 일 경우 숫자형은 '0'을 반환하고, 문자형은 'false'를 반환한다.

    명시적 타입으로 숫자나 문자를 boolean 값으로 변환 한다면,

    var x_bool = Boolean(x);  // 

    var x_bool = !!x; // NOT 연산자를 2번 사용하면서 boolean 값으로 변환되면서 값은 변하지 않음.

           

'컴퓨터 세상 > JavaScript' 카테고리의 다른 글

주석문, 자료형  (0) 2024.03.28
JavaScript - in 연산자, instanceof 연산자  (0) 2020.07.25
JavaScript - 문자열 비교, 문자열 연산자  (0) 2020.07.25
JavaScript - 객체  (0) 2020.07.20
함수 리터럴  (0) 2020.07.20