翼度科技»论坛 编程开发 JavaScript 查看内容

JavaScript 格式化金额

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
JavaScript 格式化金额

一、使用 Intl.NumberFormat 构造函数

这是 JavaScript 中格式化金额的最常见方法。Intl.NumberFormat()构造函数接受两个参数:语言环境和选项。语言环境是为其格式化金额的语言和地区。选项是一组控制金额格式的属性。例如,可以使用样式属性来指定货币的格式,使用货币属性来指定要将金额格式化为的货币。
  1. const amount = 1234567.89;
  2. const locale = "en-US";
  3. const options = {
  4.   style: "currency",
  5.   currency: "USD",
  6. };
  7. const formattedAmount = new Intl.NumberFormat(locale, options).format(amount);
  8. console.log(formattedAmount); //$1,234,567.89
复制代码
二、使用 Number.prototype.toLocaleString 方法

要格式化金额,可以使用 JavaScript 的 toLocaleString() 方法。该方法可以将数字转换为本地化的字符串表示形式,并可以指定货币符号、小数点和千位分隔符等格式。
代码如下:

  • 美元
    1. const amount = 1234567.89;
    2. const formattedAmount = amount.toLocaleString("en-US", {
    3.   style: "currency",
    4.   currency: "USD",
    5.   minimumFractionDigits: 2,
    6.   maximumFractionDigits: 2,
    7. });
    8. console.log(formattedAmount); //$1,234,567.89
    复制代码
  • 人民币
    1. const amount = 1234567.89;
    2. const formattedAmount = amount.toLocaleString("zh-CN", {
    3.   style: "currency",
    4.   currency: "CNY",
    5.   minimumFractionDigits: 2,
    6.   maximumFractionDigits: 2,
    7. });
    8. console.log(formattedAmount);
    复制代码
在这个示例中,将数字变量 amount 使用 toLocaleString() 方法转换为本地化的字符串表示形式,并指定了以下格式:

  • style: 'currency' 表示使用货币格式显示金额。
  • currency: 'USD' 表示使用美元符号作为货币符号。
  • minimumFractionDigits: 2 表示最少保留两位小数。
  • maximumFractionDigits: 2 表示最多保留两位小数。
通过这种方式,可以使用 JavaScript 快速简单地实现金额格式化效果。需要注意的是,toLocaleString() 方法在不同的浏览器和操作系统中可能存在差异,需要进行兼容性测试和兼容性处理。
三、 使用模板字符串 + Number.prototype.toFixed + 正则替换
  1. const amount = 1234567.89;
  2. const formattedAmount = `¥${amount
  3.   .toFixed(2)
  4.   .replace(/\B(?=(\d{3})+(?!\d))/g, ",")}`;
  5. console.log(formattedAmount);
复制代码
在这个示例中,通过 toFixed 使金额保留两位小数,使用正则替换的方式增加千位分隔符,再使用模板字符串进行拼接。

来源:https://www.cnblogs.com/yuzhihui/p/17433979.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具