UNPKG

@ithinkdt/core

Version:

iThinkDT Core

13 lines (12 loc) 586 B
/* eslint-disable unicorn/prefer-string-replace-all */ export function number(num, digits = 2, split = ',', trim = true) { if (num === undefined || num === null) return '' const n = typeof num === 'number' ? num : Number(num) if (Number.isFinite(n) && Number.isFinite(digits)) { const [int, digit = ''] = n.toFixed(digits).split('.') const _dight = trim ? digit.replace(/0/g, ' ').trimEnd().replaceAll(/\s/g, '0') : digit return `${int.replace(/(\d)(?=(?:\d{3})+$)/g, `$1${split}`)}${_dight ? '.' : ''}${digit}` } else { return n } }