8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何将数字格式化为货币字符串

EERIE 1月前

88 0

我想用 JavaScript 格式化价格。我想要一个以浮点数作为参数并返回格式如下的字符串的函数:\'$ 2,500.00\'我该怎么做?

我想用 JavaScript 格式化价格。我想要一个以 为 float 参数并返回 string 格式如下的函数:

"$ 2,500.00"

我怎样才能做到这一点?

帖子版权声明 1、本帖标题:如何将数字格式化为货币字符串
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由EERIE在本站《jquery》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 国际数字格式

    JavaScript 有一个数字格式化程序(国际化 API 的一部分)。

    // Create our number formatter.
    const formatter = new Intl.NumberFormat('en-US', {
      style: 'currency',
      currency: 'USD',
    
      // These options are needed to round to whole numbers if that's what you want.
      //minimumFractionDigits: 0, // (this suffices for whole numbers, but will print 2500.10 as $2,500.1)
      //maximumFractionDigits: 0, // (causes 2500.99 to be printed as $2,501)
    });
    
    console.log(formatter.format(2500)); /* $2,500.00 */

    代替 undefined 第一个参数( 'en-US' 在示例中)使用系统区域设置(如果代码在浏览器中运行,则为用户区域设置)。 区域设置代码的进一步说明 .

    以下是 货币代码列表 .

    Intl.NumberFormat 与 Number.prototype.toLocaleString

    最后要说明的是,将其与旧版本进行比较。 toLocaleString 它们都提供基本相同的功能。但是,toLocaleString 的旧版本(Intl 之前)实际上 不支持 locales :它使用系统语言环境。因此,在调试旧浏览器时,请确保使用正确的版本( MDN suggests to check for the existence of Intl ,则完全不必担心这一点 shim .

    单个 两者的性能相同 ,但如果您需要格式化大量数字,则使用速度 Intl.NumberFormat 会快约 70 倍。因此,通常最好 Intl.NumberFormat 在每次页面加载时仅使用和实例化一次。无论如何,以下是 的等效用法 toLocaleString

    console.log((2500).toLocaleString('en-US', {
      style: 'currency',
      currency: 'USD',
    })); /* $2,500.00 */

    关于浏览器支持和 Node.js 的一些说明

返回
作者最近主题: