[Javascript] Number, toLocaleString() & Intl
When needing to format a number I've tended to lean towards Number.prototype.toFixed(), reach for a 3rd party library, or write custom functions. However, with modern browsers, there's a lot of really interesting native capabilities you could start using with Number.prototype.toLocaleString()or Intl.NumberFormat.
import "@formatjs/intl-numberformat/polyfill"; import "@formatjs/intl-numberformat/locale-data/en.js"; let number = 12345.6789; // Locale console.log(number.toLocaleString()); // 12,345.679 console.log(number.toLocaleString("en-US")); // 12,345.679 console.log(number.toLocaleString("de-DE")); // 12.345,679 // Currency console.log( number.toLocaleString("en-US", { style: "currency", currency: "USD" }) ); // $12,345.68 console.log( number.toLocaleString("de-DE", { style: "currency", currency: "EUR" }) ); // 12.345,68 € console.log( number.toLocaleString("ja-JP", { style: "currency", currency: "JPY" }) ); // ¥12,346 // Significant Digits console.log( number.toLocaleString("en-US", { maximumSignificantDigits: 1 }) ); // 10,000 console.log( number.toLocaleString("fr-FR", { maximumSignificantDigits: 3 }) ); // 12 300 // Unit Support console.log( number.toLocaleString("en-US", { style: "unit", unit: "mile-per-hour" }) ); // 12,345.679 mph console.log( number.toLocaleString("fr-FR", { style: "unit", unit: "liter", unitDisplay: "long" }) ); // 12 345,679 litres // Compact Notation console.log( number.toLocaleString("en-US", { notation: "compact", compactDisplay: "long" }) ); // 12 thousand // Percents number = 0.1234; console.log( number.toLocaleString("en-US", { style: "percent", minimumFractionDigits: 2 }) ); // 12.34% // Accounting number = -123.456; console.log( number.toLocaleString("en-US", { style: "currency", currency: "USD", currencySign: "accounting", signDisplay: "always" }) ); // ($123.46) // Intl.NumberFormat const numberFormat = new Intl.NumberFormat("en-US", { style: "unit", unit: "mile-per-hour" }); console.log(numberFormat.format(12345.6789)); // 12,345.679 mph console.log(numberFormat.format(765456.5468)); // 765,456.547 mph
分类:
Javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-08-10 [Algorithms] Determine if a string is a palindrome
2018-08-10 [Algorithm] Determine if two strings are an anagram
2017-08-10 [D3] Build a Column Chart with D3 v4
2016-08-10 [Practical Git] Format commit history with git log arguments
2016-08-10 [Practical Git] Navigate git command pager output with Unix less commands
2016-08-10 [Practical Git] Switching between current branch and last checkout branch
2014-08-10 [Javascript] Prototype 2 Object.create()