千分位处理函数,只解决小数点右边的数字
如:12345.6789 解决为12,345.6789
若也要解决小数点左边的数字,这个办法也能够,只须要将下文的str2执行一次本办法,而后拼接后果即可。
心愿能帮到你。
function thousandth (num) { let str = num.toString() // 数字转字符串 let str2 = null // 如果带小数点 if (str.indexOf('.') !== -1) { // 带小数点只须要解决小数点右边的 const strArr = str.split('.') // 依据小数点切割字符串 str = strArr[0]// 小数点右边 str2 = strArr[1]// 小数点左边 //如12345.678 str=12345,str2=678 } let result = ''// 后果 while (str.length > 3) { // while循环 字符串长度大于3就得增加千分位 // 切割法 ,从后往前切割字符串 ⬇️ result = ',' + str.slice(str.length - 3, str.length) + result // 切割str最初三位,用逗号拼接 比方12345 切割为 ,345 // 用result接管,并拼接上一次循环失去的result str = str.slice(0, str.length - 3) // str字符串剥离下面切割的后三位,比方 12345 剥离成 12 } if (str.length <= 3 && str.length > 0) { // 长度小于等于3 且长度大于0,间接拼接到result // 为什么能够等于3 因为下面result 拼接时候在后面带上了‘,’ // 相当于123456 上一步解决完之后 result=',456' str='123' result = str + result } // 最初判断是否带小数点(str2是小数点左边的数字) // 如果带了小数点就拼接小数点左边的str2 ⬇️ str2 ? result = result + '.' + str2 : '' return result}