Responsive Advertisement

JavaScript Numbers: ์ˆซ์ž ์ฒ˜๋ฆฌ์™€ ํ™œ์šฉ๋ฒ•

JavaScript์—์„œ ์ˆซ์ž(Number)๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. JavaScript๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ธ Number๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ •์ˆ˜์™€ ๋ถ€๋™์†Œ์ˆ˜์  ์ˆซ์ž ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” JavaScript์—์„œ ์ˆซ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋‹ค์–‘ํ•œ ์ˆซ์ž ๊ด€๋ จ ๋ฉ”์„œ๋“œ์™€ ๊ธฐ๋Šฅ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

JavaScript์—์„œ ์ˆซ์ž๋ž€?

JavaScript์—์„œ ์ˆซ์ž๋Š” ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜, ์†Œ์ˆ˜, ์Œ์ˆ˜ ๋“ฑ์„ ๋‹ค๋ฃจ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, Number ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

let num1 = 42;   // ์ •์ˆ˜
let num2 = 3.14;  // ์‹ค์ˆ˜ (๋ถ€๋™์†Œ์ˆ˜์ )
let num3 = -100;  // ์Œ์ˆ˜

์ˆซ์ž๋Š” ์‚ฌ์น™์—ฐ์‚ฐ, ๋น„๊ต ์—ฐ์‚ฐ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™์  ์ž‘์—…์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆซ์ž ์ฒ˜๋ฆฌ ๋ฉ”์„œ๋“œ

JavaScript๋Š” ์ˆซ์ž๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ์™€ ๋‚ด์žฅ ๊ฐ์ฒด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ˆซ์ž๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. toString(): ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

toString() ๋ฉ”์„œ๋“œ๋Š” ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋ฅผ ๋‹ค๋ฅธ ์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let num = 42;
let str = num.toString();
console.log(str);  // ๊ฒฐ๊ณผ: "42"

let binary = num.toString(2);
console.log(binary);  // ๊ฒฐ๊ณผ: "101010" (2์ง„์ˆ˜)

2. toFixed(): ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜ ์ง€์ •

toFixed() ๋ฉ”์„œ๋“œ๋Š” ์ˆซ์ž์˜ ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜๋ฅผ ์ง€์ •ํ•œ ๊ฐ’๋งŒํผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธˆ์œต ๊ณ„์‚ฐ์ด๋‚˜ ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

let num = 3.14159;
console.log(num.toFixed(2));  // ๊ฒฐ๊ณผ: "3.14"
console.log(num.toFixed(4));  // ๊ฒฐ๊ณผ: "3.1416"

3. toPrecision(): ์ „์ฒด ์ž๋ฆฟ์ˆ˜ ์ง€์ •

toPrecision() ๋ฉ”์„œ๋“œ๋Š” ์ˆซ์ž๋ฅผ ์ง€์ •ํ•œ ์ „์ฒด ์ž๋ฆฟ์ˆ˜๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ณผํ•™์  ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

let num = 123.456;
console.log(num.toPrecision(4));  // ๊ฒฐ๊ณผ: "123.5"
console.log(num.toPrecision(2));  // ๊ฒฐ๊ณผ: "1.2e+2" (๊ณผํ•™์  ํ‘œ๊ธฐ๋ฒ•)

4. Number()์™€ parseInt(), parseFloat()

Number() ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์ด๋‚˜ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. parseInt()์™€ parseFloat()๋Š” ๋ฌธ์ž์—ด์„ ๊ฐ๊ฐ ์ •์ˆ˜์™€ ์‹ค์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let str = "42";
console.log(Number(str));  // ๊ฒฐ๊ณผ: 42

let floatStr = "3.14";
console.log(parseFloat(floatStr));  // ๊ฒฐ๊ณผ: 3.14

let intStr = "100px";
console.log(parseInt(intStr));  // ๊ฒฐ๊ณผ: 100

5. isNaN(): ๊ฐ’์ด ์ˆซ์ž์ธ์ง€ ํ™•์ธ

isNaN() ํ•จ์ˆ˜๋Š” ๊ฐ’์ด ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’(Not-a-Number)์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์ด๋ผ๋ฉด true๋ฅผ, ์ˆซ์ž๋ผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let value = "Hello";
console.log(isNaN(value));  // ๊ฒฐ๊ณผ: true

let num = 42;
console.log(isNaN(num));  // ๊ฒฐ๊ณผ: false

JavaScript์˜ ์ˆซ์ž ์ƒ์ˆ˜

JavaScript๋Š” ์ˆซ์ž๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•œ ๋ช‡ ๊ฐ€์ง€ ์ƒ์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒ์ˆ˜๋“ค์€ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • Number.MAX_VALUE: JavaScript์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆซ์ž
  • Number.MIN_VALUE: JavaScript์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž(0์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์–‘์ˆ˜)
  • Number.POSITIVE_INFINITY: ์–‘์˜ ๋ฌดํ•œ๋Œ€
  • Number.NEGATIVE_INFINITY: ์Œ์˜ ๋ฌดํ•œ๋Œ€
  • Number.NaN: Not-a-Number (์ˆซ์ž๊ฐ€ ์•„๋‹˜์„ ๋‚˜ํƒ€๋ƒ„)
console.log(Number.MAX_VALUE);  // ๊ฒฐ๊ณผ: 1.7976931348623157e+308
console.log(Number.POSITIVE_INFINITY);  // ๊ฒฐ๊ณผ: Infinity

Math ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ ์ˆซ์ž ์ฒ˜๋ฆฌ

JavaScript์˜ Math ๊ฐ์ฒด๋Š” ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์ˆ˜ํ•™์  ์ž‘์—…๋„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. Math.round(): ๋ฐ˜์˜ฌ๋ฆผ

Math.round()๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

let num = 4.7;
console.log(Math.round(num));  // ๊ฒฐ๊ณผ: 5

let num2 = 4.3;
console.log(Math.round(num2));  // ๊ฒฐ๊ณผ: 4

2. Math.ceil()์™€ Math.floor(): ์˜ฌ๋ฆผ๊ณผ ๋‚ด๋ฆผ

Math.ceil()์€ ์†Œ์ˆ˜์  ์ดํ•˜ ๊ฐ’์„ ์˜ฌ๋ ค์„œ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , Math.floor()๋Š” ์†Œ์ˆ˜์  ์ดํ•˜ ๊ฐ’์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.

let num = 4.3;
console.log(Math.ceil(num));  // ๊ฒฐ๊ณผ: 5
console.log(Math.floor(num));  // ๊ฒฐ๊ณผ: 4

3. Math.random(): ๋ฌด์ž‘์œ„ ์ˆซ์ž ์ƒ์„ฑ

Math.random() ๋ฉ”์„œ๋“œ๋Š” 0 ์ด์ƒ 1 ๋ฏธ๋งŒ์˜ ๋ฌด์ž‘์œ„ ์†Œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋‚œ์ˆ˜ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

let randomNum = Math.random();
console.log(randomNum);  // ์˜ˆ: 0.123456789

๋ฌด์ž‘์œ„ ์ •์ˆ˜๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” Math.floor() ๋˜๋Š” Math.ceil()๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let randomInt = Math.floor(Math.random() * 10);  // 0์—์„œ 9 ์‚ฌ์ด์˜ ์ •์ˆ˜
console.log(randomInt);

4. Math.max()์™€ Math.min(): ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’ ์ฐพ๊ธฐ

Math.max()๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž ์ค‘ ์ตœ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , Math.min()์€ ์ตœ์†Œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let max = Math.max(10, 20, 30, 40);
console.log(max);  // ๊ฒฐ๊ณผ: 40

let min = Math.min(10, 20, 30, 40);
console.log(min);  // ๊ฒฐ๊ณผ: 10

๊ฒฐ๋ก 

JavaScript์—์„œ ์ˆซ์ž๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ์ˆซ์ž ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๊ณผ ๋‚ด์žฅ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Number ๊ฐ์ฒด์™€ Math ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ˆซ์ž๋ฅผ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์˜ฌ๋ฆผ, ๋ฌด์ž‘์œ„ ์ˆซ์ž ์ƒ์„ฑ, ์†Œ์ˆ˜์  ์ฒ˜๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž๋ฅผ ๋‹ค๋ฃจ๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ตํžˆ๊ณ  ํ”„๋กœ์ ํŠธ์— ํ™œ์šฉํ•ด ๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ