LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

js數字千分位格式化:從入門到花式炫技

freeflydom
2025年6月6日 9:4 本文熱度 63

一、基礎版:正則表達式一招鮮

function formatNumber(num) {
    return num.toString().replace(/\B(?=(\d{3})+(?!\d)/g, ",");
}
console.log(formatNumber(1234567)); // "1,234,567"
console.log(formatNumber(我的余額是1000000)); // "我的余額是1,000,000"

小楊解說:這個正則看著嚇人,其實就做一件事——找到每三個數字前面的位置,插入逗號。

二、進階版:處理小數和負數

function formatNumberAdvanced(num) {
    const parts = num.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return parts.join('.');
}
console.log(formatNumberAdvanced(-1234567.89)); // "-1,234,567.89"

小楊踩坑記:曾經沒處理負數,結果用戶看到"-123,456"一臉懵逼,還以為我們系統顯示錯誤!

三、國際化方案:Intl.NumberFormat

console.log(new Intl.NumberFormat().format(1234567)); // "1,234,567"
console.log(new Intl.NumberFormat('de-DE').format(1234567)); // "1.234.567" 德國用點號

小楊提示:這個方法最省心,還能自動適配不同國家的格式!

四、性能優化版:避免頻繁創建對象

const formatter = new Intl.NumberFormat();
function fastFormat(num) {
    return formatter.format(num);
}
// 適合需要頻繁調用的場景

五、花式炫技:一行代碼搞定

const fancyFormat = num => [...num.toString()].reverse().map((c,i) => i%3===0&&i!==0?c+',':c).reverse().join('');
console.log(fancyFormat(1234567)); // "1,234,567"

小楊警告:這種寫法雖然酷,但可讀性差,團隊項目慎用!

六、實戰中的坑

  1. 超大數字處理
// 錯誤示范
console.log(formatNumber(99999999999999999999)); // "100,000,000,000,000,000,000"
// 正確做法
function safeFormat(num) {
    return BigInt(num).toString().replace(/\B(?=(\d{3})+(?!\d)/g, ",");
}
  1. 輸入校驗
function safeFormatInput(input) {
    const num = Number(input);
    if(isNaN(num)) return '請輸入有效數字';
    return formatNumber(num);
}

七、總結

  • 簡單需求用正則replace
  • 國際化需求用Intl.NumberFormat
  • 性能敏感場景緩存formatter對象
  • 記得處理小數、負數和超大數字

?轉自https://juejin.cn/post/7512332419203497995


該文章在 2025/6/6 9:04:22 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
久久综合久久自在自线精品自 | 专区日韩中文字幕97色伦 | 亚洲精品精品一线久久 | 日韩经典欧美高清一区二区UU | 亚洲午夜国产片在线观看 | 亚洲美女激情在线播放 |