e를 이용해 0의 개수가 많은 숫자 입력
let billion = 1e9; //10억
1e3 = 1*1000;
1.23e6 = 1.23*1000000
1e-3 = 1/1000 (=0.001)
16진수, 8진수, 2진수
let num = 255;
alert(num.toString(2)); //11111111
alert(num.toString(16)); //ff
//변수가 아닌 실제 숫자에 접근할 경우
alert(123456..toString(16)); //..을 쓰거나 ()를 사용한다.
alert((123456).toString(16));
어림수 구하기
//소수점 첫째자리에서 내림
Math.floor()
// 소수점 첫째자리에서 올림
Math.ceil();
// 소수점 첫째자리에서 반올림
Math.round();
//소수부 무시
Math.trunc();
//일정 소수 자리에서 어림할 경우
let num = 12.34;
alert(num.toFixed(1)); //12.3
//toFixed()는 항상 문자열을 반환한다.
정밀도 손실 이슈
alert(0.1+0.2==0.3); //false
//위의 연산결과 값이 0.30000000000000004가 나와 true값이 나오지 않는다.
//이러한 정밀도 손실 문제에 대응하기 위한 방법으로는 toFixed()가 있다.
let sum = 0.1+0.2;
alert(sum.toFixed(2)); //0.30
//그러나 toFixed()는 문자열을 반환하기 때문에 뒤에 0이 붙는다.
//숫자로 바꾸기 위해 단항 덧셈연산자를 붙여주면 된다.
alert(+sum.toFixed(2)); //0.3
parseInt와 parseFloat
alert(parseInt("100px")); //100
alert(parseInt("100em")); //100
//단항연산자와는 다르게 숫자이외의 px, em과 같은 텍스트가 붙어도 숫자형을 반환해준다.
//그러나 아래는 NaN을 반환한다.
alert("a100"); //NaN
//parseInt()는 두번째 인수를 받아 원하는 진수 지정이 가능하다.
alert( parseInt('0xff', 16) ); // 255
alert( parseInt('ff', 16) ); // 255, 0x가 없어도 동작합니다.
기타 수학 함수
//0과 1사이의 난수 반환
Math.random();
//최솟값과 최댓값 반환
Math.min(a,b,c,..);
Math.max(a,b,c,..);
//거듭제곱
Math.pow(n, power);
Math.pow(2,10); //2의 10제곱 = 1024
'프로그래밍 언어 > Javascript' 카테고리의 다른 글
[자바스크립트]배열 (0) | 2021.06.17 |
---|---|
문자열 (0) | 2021.06.17 |
객체 복사, 병합과 Object.assign (0) | 2021.06.16 |
[기본문법]자바스크립트 객체 (0) | 2021.06.16 |
[기본 문법]자바스크립트 화살표 함수 (0) | 2021.06.16 |