@modern-kit/utils
Version:
1 lines • 2.2 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/formatter/formatCurrencyKRWWithUnits/index.ts"],"sourcesContent":["import { formatValueWithSymbol } from '../formatValueWithSymbol';\nimport { formatNumberWithUnits } from '../formatNumberWithUnits';\n\nconst KRW_UNITS = [\n { unit: '조', value: 1_000_000_000_000 },\n { unit: '억', value: 100_000_000 },\n { unit: '만', value: 10_000 },\n] as const;\n\n/**\n * @description 주어진 숫자 또는 문자열을 (조/억/만)단위로 나누고, \"원\" 문자를 접미사로 붙여 포맷팅한 문자열을 반환합니다.\n *\n * - 허용 할 소수점 자리수(`decimal`)를 선택할 수 있습니다. 기본값은 `0`입니다.\n *\n * @param {number | string} value - 포맷팅할 숫자 또는 문자열\n * @param {number} [options.decimal=0] - 소수점 자리수\n *\n * @returns {string} 포맷팅된 문자열\n *\n * @example\n * formatCurrencyKRWWithUnits(1234567891234);\n * formatCurrencyKRWWithUnits('1234567891234');\n * // '1조 2,345억 6,789만 1,234원'\n *\n * formatCurrencyKRWWithUnits(-123456789);\n * formatCurrencyKRWWithUnits('-123456789');\n * // '-1억 2,345만 6,789원'\n *\n * @example\n * formatCurrencyKRWWithUnits(123456789.1234, { decimal: 2 });\n * // '1조 2,345억 6,789만 1,234.12원'\n */\nexport function formatCurrencyKRWWithUnits(\n value: number | string,\n options: { decimal?: number } = {}\n): string {\n const { decimal = 0 } = options;\n const unitsOptions = { units: KRW_UNITS, commas: true, decimal };\n\n return formatValueWithSymbol(formatNumberWithUnits(value, unitsOptions), {\n suffix: '원',\n });\n}\n"],"names":["formatValueWithSymbol","formatNumberWithUnits"],"mappings":";;;;;;;AAGA,MAAM,SAAA,GAAY;AAAA,EAChB,EAAE,IAAA,EAAM,QAAA,EAAK,KAAA,EAAO,IAAA,EAAkB;AAAA,EACtC,EAAE,IAAA,EAAM,QAAA,EAAK,KAAA,EAAO,GAAA,EAAY;AAAA,EAChC,EAAE,IAAA,EAAM,QAAA,EAAK,KAAA,EAAO,GAAA;AACtB,CAAA;AAyBO,SAAS,0BAAA,CACd,KAAA,EACA,OAAA,GAAgC,EAAC,EACzB;AACR,EAAA,MAAM,EAAE,OAAA,GAAU,CAAA,EAAE,GAAI,OAAA;AACxB,EAAA,MAAM,eAAe,EAAE,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,MAAM,OAAA,EAAQ;AAE/D,EAAA,OAAOA,oDAAA,CAAsBC,oDAAA,CAAsB,KAAA,EAAO,YAAY,CAAA,EAAG;AAAA,IACvE,MAAA,EAAQ;AAAA,GACT,CAAA;AACH;;;;"}