How to use toLocaleString() and tofixed(2) in JavaScript

前端 未结 1 1033
暗喜
暗喜 2020-11-29 00:15

How can I do this in JavaScript?

var num = 2046430; 
num.toLocaleString();

will give you \"2,046,430\";

What I have tried is:

<         


        
相关标签:
1条回答
  • 2020-11-29 00:37

    Taken from MDN:

    Syntax

    numObj.toLocaleString([locales [, options]])

    toLocaleString takes 2 arguments. The first is the locale, the second are the options. As for the options, you are looking for:

    minimumFractionDigits

    The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).

    https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

    To be able to set the options without setting the locale, you can pass undefined as first argument:

    var num = 2046430;
    num.toLocaleString(undefined, {minimumFractionDigits: 2}) // 2,046,430.00
    

    However this also allows the fraction to be longer than 2 digits. So we need to look for one more option called maximumFractionDigits. (Also on that MDN page)

    var num = 2046430.123;
    num.toLocaleString(undefined, {
      minimumFractionDigits: 2,
      maximumFractionDigits: 2
    }) // 2,046,430.12
    
    0 讨论(0)
提交回复
热议问题