[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 
复制代码

 

posted @   Zhentiw  阅读(276)  评论(0编辑  收藏  举报
编辑推荐:
· 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()
点击右上角即可分享
微信分享提示