UNPKG

@modern-kit/utils

Version:
1 lines 2.08 kB
{"version":3,"file":"index.mjs","sources":["../../../src/formatter/formatCurrencyUSD/index.ts"],"sourcesContent":["import { formatNumberWithCommas } from '../formatNumberWithCommas';\nimport { formatValueWithSymbol } from '../formatValueWithSymbol';\nimport { isNumber } from '../../validator/isNumber';\n\n/**\n * @description 주어진 `숫자` 또는 `숫자로 이뤄진 문자열`에 달러($) 기호를 추가한 문자열을 반환하는 함수입니다.\n *\n * - 허용 할 소수점 자리수(`decimal`)를 선택할 수 있습니다. 기본값은 `0`입니다.\n *\n * @param {number | string} value - 포맷팅할 숫자 값\n * @param {number} [options.decimal=0] - 소수점 자리수\n * @returns {string} 달러($) 기호가 추가된 문자열\n *\n * @example\n * formatCurrencyUSD(1234567);\n * formatCurrencyUSD('1234567');\n * // '$1,234,567'\n *\n * formatCurrencyUSD(-1234567);\n * formatCurrencyUSD('-1234567');\n * // '-$1,234,567'\n *\n * @example\n * formatCurrencyUSD(1234567.1234, { decimal: 2 });\n * // '$1,234,567.12'\n *\n * formatCurrencyUSD(-1234567.1234, { decimal: 2 });\n * // '-$1,234,567.12'\n */\nexport function formatCurrencyUSD(\n value: number | string,\n options: { decimal?: number } = {}\n): string {\n const { decimal = 0 } = options;\n\n const valueToUse = isNumber(value) ? value : Number(value);\n const negativeSign = valueToUse < 0 ? '-' : '';\n const absoluteValue = Math.abs(valueToUse);\n\n return `${negativeSign}${formatValueWithSymbol(\n formatNumberWithCommas(absoluteValue.toFixed(decimal)),\n { prefix: '$' }\n )}`;\n}\n"],"names":[],"mappings":";;;;AA6BO,SAAS,iBAAA,CACd,KAAA,EACA,OAAA,GAAgC,EAAC,EACzB;AACR,EAAA,MAAM,EAAE,OAAA,GAAU,CAAA,EAAE,GAAI,OAAA;AAExB,EAAA,MAAM,aAAa,QAAA,CAAS,KAAK,CAAA,GAAI,KAAA,GAAQ,OAAO,KAAK,CAAA;AACzD,EAAA,MAAM,YAAA,GAAe,UAAA,GAAa,CAAA,GAAI,GAAA,GAAM,EAAA;AAC5C,EAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,GAAA,CAAI,UAAU,CAAA;AAEzC,EAAA,OAAO,CAAA,EAAG,YAAY,CAAA,EAAG,qBAAA;AAAA,IACvB,sBAAA,CAAuB,aAAA,CAAc,OAAA,CAAQ,OAAO,CAAC,CAAA;AAAA,IACrD,EAAE,QAAQ,GAAA;AAAI,GACf,CAAA,CAAA;AACH;;;;"}