Javascript千位分隔符/字符串格式

Javascript千位分隔符/字符串格式

Javascript中是否有用于格式化数字和字符串的函数?

我正在为字符串或数字寻找千位分隔符...(类似于String中的String.Format)


一只甜甜圈
浏览 563回答 3
3回答

智慧大石

以下原始答案中引用的参考文献是错误的。这里是一个内置的功能,这一点,而这正是德皇以下建议:toLocaleString所以你可以这样做:(1234567.89).toLocaleString('en')              // for numeric inputparseFloat("1234567.89").toLocaleString('en')  // for string input下面实现的功能也有效,但根本不是必需的。(我想也许我很幸运,发现它在2010年有必要,但没有。根据这个更可靠的参考,toLocaleString自ECMAScript第3版[1999]以来一直是标准的一部分,我相信它意味着它本来可以支持IE 5.5。)原始答案根据该参考文献,没有用于向数字添加逗号的内置函数。但该页面包含一个如何自己编写代码的示例:function addCommas(nStr) {    nStr += '';    var x = nStr.split('.');    var x1 = x[0];    var x2 = x.length > 1 ? '.' + x[1] : '';    var rgx = /(\d+)(\d{3})/;    while (rgx.test(x1)) {            x1 = x1.replace(rgx, '$1' + ',' + '$2');    }    return x1 + x2;}编辑: 要采用另一种方式(将带逗号的字符串转换为数字),您可以执行以下操作:parseFloat("1,234,567.89".replace(/,/g,''))

qq_遁去的一_1

如果要本地化千位分隔符,分隔符和小数分隔符,请执行以下操作:// --> numObj.toLocaleString( [locales [, options] ] ) parseInt( number ).toLocaleString();您可以使用多种选项(甚至是具有后备的区域设置):number = 123456.7089;result  = parseInt( number ).toLocaleString() + "<br>";result += number.toLocaleString( 'de-DE' ) + "<br>";result += number.toLocaleString( 'ar-EG' ) + "<br>";result += number.toLocaleString( 'ja-JP', {    style           : 'currency',   currency        : 'JPY',   currencyDisplay : 'symbol',   useGrouping     : true} ) + "<br>";result += number.toLocaleString( [ 'jav', 'en' ], {    localeMatcher            : 'lookup',   style                    : 'decimal',   minimumIntegerDigits     : 2,   minimumFractionDigits    : 2,   maximumFractionDigits    : 3,   minimumSignificantDigits : 2,   maximumSignificantDigits : 3} ) + "<br>";var el = document.getElementById( 'result' );el.innerHTML = result;<div id="result"></div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript