header-img
Info :
728x90

λ¦¬μ•‘νŠΈμ—μ„œ number ν˜•νƒœμ˜ 숫자λ₯Ό νšŒκ³„ λ‹¨μœ„ ν˜•νƒœλ‘œ λ‚˜νƒ€λ‚΄κ³  μ‹Άμ—ˆλ‹€.

ex) 1000 일 경우 1,000 둜 λ‚˜νƒ€λ‚΄κ³  555666777 일 경우 555,666,777 λ‚˜νƒ€λƒ„.

 

case λ₯Ό λ‘κ°€μ§€λ‘œ κ΅¬λ³„ν•˜μ—¬ κ°œλ°œν•΄λ³΄μ•˜λ‹€.

input 값이 "1000" μΌμˆ˜λ„ 있고 1000 μΌμˆ˜λ„ μžˆμœΌλ‹ˆ..

 

CASE1. 숫자 νƒ€μž…μ˜ 데이터λ₯Ό κ°€κ³΅ν•˜λŠ” 경우

  Number.prototype.format = function () {
    if (this == 0) return 0;
    var reg = /(^[+-]?\d+)(\d{3})/;
    var n = this + "";
    while (reg.test(n)) n = n.replace(reg, "$1" + "," + "$2");
    return n;
  };

  // test
  var num = 123456.999;
  console.log(num.format()); // 123,456.999
  num = 1567895;
  console.log(num.format()); // 1,567,895

 

μœ„μ— μžˆλŠ” function 을 μ μž¬μ μ†Œν•œ 곳에 λ³΅λΆ™ν•΄μ„œ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

 

CASE2. String(λ¬Έμžμ—΄) νƒ€μž…μ˜ 데이터λ₯Ό κ°€κ³΅ν•˜λŠ” 경우

  Number.prototype.format = function () {
    if (this == 0) return 0;
    var reg = /(^[+-]?\d+)(\d{3})/;
    var n = this + "";
    while (reg.test(n)) n = n.replace(reg, "$1" + "," + "$2");
    return n;
  };

  String.prototype.format = function () {
    var num = parseFloat(this);
    if (isNaN(num)) return "0";
    return num.format();
  };
  
    // λ¬Έμžμ—΄ νƒ€μž… test
  console.log("12348".format()); // 12,348
  console.log("12348.6456".format()); // 12,348.6456

 

string의 κ²½μš°λŠ” float ν˜•νƒœλ‘œ ν˜•λ³€ν™˜ ν›„ μ˜ˆμ™Έ 처리λ₯Ό ν•΄μ£Όκ³ , λ‹€μ‹œ number.format function으둜 λ„˜κ²¨μ£ΌλŠ” ν˜•νƒœ.

 

μœ„μ— μžˆλŠ” function 을 μ μž¬μ μ†Œν•œ 곳에 λ³΅λΆ™ν•΄μ„œ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜λ©΄ λœλ‹€.

728x90
더보기
FRONTEND/React