一、前言
本文主要介绍5个能够对JavaScript数字进行格式化的函数。这些函数可以将数字格式化成千位分隔符形式、保留指定小数位数等。在实际开发中,数字格式化功能是很有用的,因此掌握这些函数的使用方法具有一定的实际价值。
二、千位分隔符
- toLocaleString()
var num = 12345.67;
var result = num.toLocaleString(); // 12,345.67
console.log(result);
这个方法是JavaScript内置方法,可以产生千为分隔符,可以带有标识符和语言代码,这里默认为本地语言。
- 正则表达式
var num = 1234567.89;
var result = num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
console.log(result); // 1,234,567.89
\B
匹配非单词边界而不是单词边界(\b)。该正则表达式匹配只有在字符串中一个数字的每三位后面的一个逗号。
三、保留小数位数
- Number.prototype.toFixed()
var num = 12345.6789;
var result = num.toFixed(2); // 12345.68
console.log(result);
这个方法将产生指定小数位数的字符串表示方法。如果指定的小数位数被省略,则使用默认的小数位数。
- Math.round()
function round(num, decimalPlaces) {
var d = Math.pow(10, decimalPlaces);
return Math.round(num * d) / d;
}
console.log(round(3.14159265359, 2)); // 3.14
使用Math.round()方式将四舍五入到小数点后几位。
四、百分比格式化
function toPercentage(num, decimalPlaces) {
var d = decimalPlaces ? decimalPlaces : 0;
return ( num * 100 ).toFixed(d) + '%';
}
console.log(toPercentage(0.12345, 2)); // 12.35%
如果需要将数值格式化为百分比,则可以将其乘以100。如果需要指定小数位数,则需要在表示百分比的字符串后使用toFixed()方法。
五、货币格式化
function toCurrency(num, decimalPlaces, currencySymbol) {
var d = decimalPlaces ? decimalPlaces : 2;
var symbol = currencySymbol ? currencySymbol : '$';
return symbol + num.toFixed(d).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
}
console.log(toCurrency(12345.6789, 2, '¥')); // ¥12,345.68
这种方式将使用 toFixed()
、正则表达式和可选的货币符号格式化数字。
以上就是这5种JavaScript数字格式化函数的详细攻略。其中一些方式会比其他方式更适合您的特定应用程序,可以根据自己的需求和喜好进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:5个javascript的数字格式化函数分享 - Python技术站