TIL 23. JavaScript - Number

박소윤·2020년 11월 22일
0

Javascript

목록 보기
14/25
post-thumbnail

# Math.round(num) - 반올림

console.log(Math.round(2.5));	//3
console.log(Math.round(2.49));	//2
console.log(Math.round(2));		//3
console.log(Math.round(2.82));	//3

# Math.ceil(num) - 올림

console.log(Math.ceil(2.5));	//3
console.log(Math.ceil(2.49));	//3
console.log(Math.ceil(2));		//2
console.log(Math.ceil(2.82));	//3

# Math.floor(num) - 버림

console.log(Math.floor(2.5));	//2
console.log(Math.floor(2.49));	//2
console.log(Math.floor(2));		//2
console.log(Math.floor(2.82));	//2

# Math.random() - 0(포함) ~ 1(제외) 사이의 난수 반환

var randomNumber = Math.random();
console.log(randomNumber);		

Math.random()의 경우 0부터 0<1의 난수를 반환하므로, 랜덤값을 정수화 시키기 위해서
Marh.floor()을 사용하여 정수 이하의값을 버리고, 원하는 수를 * 하여 0부터 그전의 숫자값까지의 정수를 반환받을 수 있다.

Math.floor(Math.random() * 10);  
//랜덤으로 값이 계속 바뀌는 상황에서 정수화 시켜서 값을 받음 0 ~ 9 사이의 값을 정수로 받음

Math.floor(Math.random() * 10) +1;
//랜덤값에서 정수의 0 ~ 9 를 10까지 반환받음

//특정 숫자범위안에서 값을 반환받기위해서는

/*
// 50 부터 100 까지 임의의 정수 반환
// 1을 더해주는 이유는 Math.random이 0 부터 1 미만의 난수를 반환하기 때문
// Math.floor(Math.random() * 50) 은 0 부터 49까지의 임의의 정수를 반환
// 1을 더하지 않으면 50부터 99까지의 임의의 정수를 반환하기 때문이다
// 100을 포함하는게 아니라..
*/
50 + (Math.floor(Math.random() * 50) +1);

# Math.Method

📌 Math.pow(x, y) - x값을 y의 거듭제곱으로 반환
📌 Math.sqrt(x) - x의 제곱근을 반환
📌 Math.abs(x) - x의 절대(양수) 값 반환
📌 Math.min(인수 목록) - 인수 목록에서 최소값을 반환
📌 Math.max(인수 목록) - 인수 목록에서 최대값을 반환

# 예제문_답)

앞으로 랜덤함수를 쓸 일이 정말 많습니다.
그런데 Math.random()으로는 내가 원하는 범위의 랜덤수를 얻을 수가 없습니다.
항상 0.0000000000000000에서 0.9999999999999999 사이 값에서만 return해주기 때문이죠.
최소(min), 최대값(max)을 받아 그 사이의 랜덤수를 return하는 함수를 구현해주세요.
- 함수는 짧지만, 이번에는 수학의 뇌를 조금 써야 하는 assignment입니다.

function getRandomNumber (min, max) {
  return min + (Math.floor(Math.random() * (max - min))+1);
}

console.log(getRandomNumber(5,40))
profile
흐르듯 그리는 Front-end

0개의 댓글

관련 채용 정보