See the Pen 자바스트립트 숫자 쓰는 방법 by nilgi (@nilgi) on CodePen.
let x = 12;
let y = 12.24;
// 숫자는 소수를 포함하거나 포함하지 않는다.
• 매우 크거나 작은 숫자는 지수 표시 가능
<p id="no1"></p>
<script>
let x = 333e7
let y = 333e-7
document.getElementById("no1").innerHTML = x + "<br>" + y;
</script>
• 최대 15자리, 소수 최대 17자리
<p id="no2"></p>
<script>
let x2 = 999999999999999;
let y2 = 9999999999999999;
let a2 = 0.12345678901234567;
let b2 = 0.123456789012345678;
document.getElementById("no2").innerHTML = x2 + "<br>" + y2 + "<br>" + a2 + "<br>" + b2;
</script>
• 불안한 소수점 계산과 보정
<p id="no3"></p>
<script>
let x3 = 0.1 + 0.2;
let y3 = (0.1 * 10 + 0.2 * 10) / 10
document.getElementById("no3").innerHTML = x3 + "<br>" + y3;
</script>
let a = 100;
let b = 200;
let c = a + b; > 결과 300 // 숫자로 인식
let a = "100";
let b = "200";
let c = a + b; > 결과 100200 // 문자로 인식
let a = 100;
let b = "200";
let c = a + b; > 결과 100200 // 문자로 인식
let a = "100";
let b = 200;
let c = a + b; > 결과 100200 // 문자로 인식
let a = 100;
let b = 200;
let c = "합 = " a + b; > 결과 합 = 100200
// 300이라 생각하기 쉽지만 아니다.
let a = 100;
let b = 200;
let c = "300";
let d = a + b + c ; > 결과 300300
// 100200300이라 예상하지만 아니다. 자바스크립트는 왼쪽부터 차례대로 연산하여 작동한다.
let a = "200";
let b = "10";
let c = a / b; > 결과 20
let a = "200";
let b = "10";
let c = a * b; > 결과 2000
let a = "200";
let b = "10";
let c = a - b; > 결과 190
// 연산 /, *, -는 숫자를 문자처리 하여도 계산한다.
• 숫자가 아니면 NaN
<p id="no4"></p>
<script>
let x4 = 20000;
let y4 = "nilgi";
document.getElementById("no4").innerHTML = x4 / y4;
</script>
• 숫자 판단 isNaN()
<p id="no5"></p>
<script>
let x5 = 20000;
let y5 = "nilgi";
let z5 = x5 / y5;
document.getElementById("no5").innerHTML = isNaN(z5);
</script>
<p id="no6"></p>
<script>
let x6 = 20000;
let y6 = 200;
let z6 = x6 / y6;
document.getElementById("no6").innerHTML = isNaN(z6);
</script>
• NaN 자체는 문자가 아니라 숫자
<p id="no7"></p>
<script>
let x7 = NaN;
document.getElementById("no7").innerHTML = typeof x7;
</script>
• 무한대를 의미하는 숫자 infinity(마이너스값 가능)
<p id="inf1"></p>
<script>
let inf = 4;
let infz = "";
while (inf != Infinity) {
inf = inf * inf;
infz = infz + inf + "<br>";
}
document.getElementById("inf1").innerHTML = infz;
</script>
• infinity의 0 연산
<p id="inf2"></p>
<script>
let infx = 4 / 0;
let infy = -4 / 0;
document.getElementById("inf2").innerHTML = infx + "<br>" + infy;
</script>
• 10진수 다른 진수로 표시하기 toString()
<p id="hex"></p>
<script>
let hex1 = 24;
document.getElementById("hex").innerHTML =
"24를 " + "<br>" +
"10진수로 " + hex1.toString(10) + "<br>" +
"16진수로 " + hex1.toString(16) + "<br>" +
"8진수로 " + hex1.toString(8) + "<br>" +
"2진수로 " + hex1.toString(2);
</script>