JavaScript - Float을 Integer로 변환, 3가지 방법

By JS | Last updated: April 23, 2022

자바스크립트에서 실수(Float)를 정수(Integer)로 변환하는 방법을 소개합니다. 자바스크립트에서는 Number 타입 또는 String 타입으로 실수를 표현할 수 있는데, 실수를 정수로 변환하는 3가지 방법을 예제와 함께 알아보겠습니다.

1. parseInt() : Float을 Integer로 변환

parseInt(string)는 문자열을 인자로 받고, Number 타입으로 변환합니다.

parseInt(string) : number

parseInt()를 사용하여 아래와 같이 실수의 Number나 String 객체를 정수로 변환할 수 있습니다. 변환된 타입은 모두 Number입니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

let n = parseInt(num1);
console.log(n);
console.log(typeof n);

n = parseInt(num2);
console.log(n);
console.log(typeof n);

n = parseInt(num3);
console.log(n);
console.log(typeof n);

n = parseInt(numStr);
console.log(n);
console.log(typeof n);

Output:

10
number
13
number
-13
number
13
number

1.1 parseFloat() vs parseInt() 비교

parseFloat(string)은 인자로 전달된 문자열을 실수(Float)의 Number 타입으로 변환하는 함수입니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

console.log(parseFloat(num1));
console.log(parseFloat(num2));
console.log(parseFloat(num3));
console.log(parseFloat(numStr));

Output:

10
13.3
-13.3
13.3

2. Number.toFixed() : Float을 Integer로 변환

Number.toFixed()는 소수점 이하 숫자를 버리고 정수만 리턴합니다. Number에서 제공하는 함수이기 때문에 String 타입에서는 사용할 수 없습니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;

console.log(num1.toFixed());
console.log(num2.toFixed());
console.log(num3.toFixed());

Output:

10
13
-13

2.1 Number.toFixed(n) 과 비교

toFixed(n)은 소수점 n자리 미만은 버리고 나머지를 리턴합니다. toFixed()toFixed(0)이므로, 소수점 0자리 미만은 모두 자르게 됩니다.

const num1 = 10;
const num2 = 13.3333;
const num3 = -13.3333;

console.log(num1.toFixed(2));
console.log(num2.toFixed(2));
console.log(num3.toFixed(2));

Output:

10.00
13.33
-13.33

3. Math.trunc(), floor(), round(), ceil() : Float을 Integer로 변환

Math의 함수들을 사용하여 소수를 제거할 수 있습니다.

3.1 Math.trunc()

Math.trunc()는 소수 부분을 모두 버리고 정수만 리턴합니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

console.log(Math.trunc(num1));
console.log(Math.trunc(num2));
console.log(Math.trunc(num3));
console.log(Math.trunc(numStr));

Output:

10
13
-13
13

3.2 Math.floor()

Math.floor()는 소수 첫째 자리에서 버림하여 정수로 만듭니다. 버림이기 때문에 음수 -13.3-14가 됩니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

console.log(Math.floor(num1));
console.log(Math.floor(num2));
console.log(Math.floor(num3));
console.log(Math.floor(numStr));

Output:

10
13
-14
13

3.3 Math.ceil()

Math.ceil()는 소수 첫째 자리에서 올림하여 정수로 만듭니다. 버림이기 때문에 음수 -13.3-13이 되고, 13.314가 됩니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

console.log(Math.ceil(num1));
console.log(Math.ceil(num2));
console.log(Math.ceil(num3));
console.log(Math.ceil(numStr));

Output:

10
14
-13
14

3.4 Math.round()

Math.round()는 소수 첫째 자리에서 반올림하여 정수로 만듭니다.

const num1 = 10;
const num2 = 13.3;
const num3 = -13.3;
const numStr = "13.3";

console.log(Math.round(num1));
console.log(Math.round(num2));
console.log(Math.round(num3));
console.log(Math.round(numStr));

Output:

10
13
-13
13
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha