js中將長數字格式化,如“10000”變成 “10,000”或"10 000"

業務開發的時候遇到的此類需求,以為頁面用RN開發,后端返回價格數據全部以分為單位,

handleMoney:function(num, precision, separator){
// var parts;
// // 判斷是否為數字
// if (!isNaN(parseFloat(num)) && isFinite(num)) {
// // 把類似 .5, 5. 之類的數據轉化成0.5, 5, 為數據精度處理做準, 至于為什么
// // 不在判斷中直接寫 if (!isNaN(num = parseFloat(num)) && isFinite(num))
// // 是因為parseFloat有一個奇怪的精度問題, 比如 parseFloat(12312312.1234567119)
// // 的值變成了 12312312.123456713
// num = Number(num);
// // 處理小數點位數
// num = (typeof precision !== 'undefined' ? num.toFixed(precision) : num).toString();
// // 分離數字的小數部分和整數部分
// parts = num.split('.');
// // 整數部分加[separator]分隔, 借用一個著名的正則表達式
// parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + (separator || ','));
//
// return parts.join('.');
// }
// return NaN;
var result = "10000000".replace(/\d+?(?=(?:\d{3})+$)/img, "$& ");
return result;
},

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一章: JS簡介 從當初簡單的語言,變成了現在能夠處理復雜計算和交互,擁有閉包、匿名函數, 甚至元編程等...
    LaBaby_閱讀 1,700評論 0 6
  • 不支持上傳文件,所以就復制過來了。作者信息什么的都沒刪。對前端基本屬于一竅不通,所以沒有任何修改,反正用著沒問題就...
    全棧在路上閱讀 1,998評論 0 2
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,769評論 0 33
  • 月華皎皎映蒼臺,影疏池淺夜闌珊。風動碧環紅暈開,荷香裊裊入夢來。 《月影風荷》 ...
    青木先生閱讀 332評論 0 1
  • 晚上看了一篇圈子的文章講學好英語的重要性,于是對在寫作業的小孩說要好好學英語哦,還要好好學攝影哦,英語和攝影都是要...
    花手鞠閱讀 191評論 0 0