JavaScript

자바스크립트 숫자 쓰는 방법

CD2Y 2021. 11. 10.
반응형

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>

반응형