[JS] 소수점 다루기
1. 소수점 버리기
1.1 floor()
① 정수를 반환한다.
② 음수의 소수점이 있을 경우 해당 숫자보다 작은 숫자를 반환한다.
const result1 = Math.floor(12.345);
const result2 = Math.floor(-12.345);
console.log(result1); // 12
console.log(result2); // -13
1.2 parselnt()
const result1 = parseInt(12.345);
const result2 = parseInt(-12.345);
console.log(result1); // 12
console.log(result2); // -12
1.3 toString()
① toString()으로 먼저 문자열로 만든 다음 split(‘.’)을 통해 .(소수점)을 기준으로 잘라서 배열을 만든다.
② 그러면 숫자(12.345)는 [‘12’, ‘45’]의 형태가 되고 거기서 0번째 인덱스, 즉 12를 가져온다.
③ 반환값은 문자열이다.
const number1 = 12.345;
const result1 = number1.toString().split(".")[0];
const number2 = -12.345;
const result2 = number2.toString().split(".")[0];
console.log(result1); // "12"
console.log(result2); // "-12"
2. 소수점 자르기
2.1 toFixed(n)
① 소수점 아래 n자리까지 표시하고 나머지는 반올림한다.
② 반환값은 문자열이다.
const number1 = 12.345;
const result1 = number1.toFixed(2);
const number2 = -12.345;
const result2 = number2.toFixed(2);
console.log(result1); // "12.35"
console.log(result2); // "-12.35"
2.2 round(), ceil(), floor()
① round()는 반올림, ceil()은 올림, floor()는 내림을 할 수 있다.
// 반올림 : round
const number1 = 12.345;
const result1 = Math.round(number1 * 100) / 100;
// 올림 : ceil
const number2 = 12.345;
const result2 = Math.ceil(number2 * 100) / 100;
// 내림 : floor
const number3 = 12.345;
const result3 = Math.floor(number3 * 100) / 100;
console.log(result1); // 12.35
console.log(result2); // 12.35
console.log(result3); // 12.34
2.3 toString()
① toString()과 split(‘.)을 활용하여 숫자(12.759812)를 [‘12’, ‘759812’]의 배열로 만들어 준다.
② 그 후, 12와 759812의 앞자리 수 75만 잘라서 합쳐준다
③ 반환값은 문자열이다.
const number1 = 12.345;
const int = number1.toString().split(".")[0];
const twoDecimal = number1.toString().split(".")[1].slice(0, 2);
const result1 = `${int}.${twoDecimal}`;
console.log(result1); // 12.34
댓글남기기