正则就可以了 function demo (str) { return String(str).replace(/([^.]*)?(\.)?(.*)?/, (g, pre = '', dot = '', next = '') => { return pre.replace(/(.(?=(.{3})+$))/g, '$1,') + dot + next }) } console.log(demo('12345')) // 12,345 console.log(demo('12345.00')) // 12,345.00
正则就可以了