@modern-kit/utils
Version:
1 lines • 1.53 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/formatter/formatNumberWithCommas/index.ts"],"sourcesContent":["import { isNumber } from '../../validator/isNumber';\n\n/**\n * @description 주어진 `숫자` 또는 `숫자로 이뤄진 문자열`에 천 단위로 `(,)comma`를 추가한 문자열을 반환하는 함수입니다.\n *\n * @param {number | string} value - 포맷팅할 숫자 값.\n * @returns {string} 포맷팅된 숫자 문자열.\n *\n * @example\n * // 숫자\n * formatNumberWithCommas(1234567.89112);\n * // '1,234,567.89112'\n *\n * // 숫자로 이뤄진 문자열\n * formatNumberWithCommas('1234567.89112');\n * // '1,234,567.89112'\n */\nexport function formatNumberWithCommas(value: number | string): string {\n const valueToUse = isNumber(value) ? value : Number(value);\n\n if (isNaN(valueToUse)) {\n throw new Error('value는 숫자 혹은 숫자로 이뤄진 문자열이여야 합니다.');\n }\n\n const parts = String(valueToUse).split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return parts.join('.');\n}\n"],"names":["isNumber"],"mappings":";;;;AAiBO,SAAS,uBAAuB,KAAA,EAAgC;AACrE,EAAA,MAAM,aAAaA,0BAAA,CAAS,KAAK,CAAA,GAAI,KAAA,GAAQ,OAAO,KAAK,CAAA;AAEzD,EAAA,IAAI,KAAA,CAAM,UAAU,CAAA,EAAG;AACrB,IAAA,MAAM,IAAI,MAAM,sIAAkC,CAAA;AAAA,EACpD;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,UAAU,CAAA,CAAE,MAAM,GAAG,CAAA;AAC1C,EAAA,KAAA,CAAM,CAAC,CAAA,GAAI,KAAA,CAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,yBAAyB,GAAG,CAAA;AACxD,EAAA,OAAO,KAAA,CAAM,KAAK,GAAG,CAAA;AACvB;;;;"}