在开发有关金额方面需求的时候,我们往往都需要对金额的显示进行一些处理。例如,将金额转换为带有“千位分隔符”的数字,像我们银行卡里的余额、购买商品时的总金额,就会有这一方面的需求。
那么到底要怎么样去转换呢?这就需要用到 JavaScript String 对象里的 replace() 方法,下面我们来看看具体的操作:
var rawPrice = 33658;
function transformPrice(price){
return price.toString().replace(/\B(?=(\d{3})+$)/g, ',');
}
var transPrice = transformPrice(rawPrice);
console.log("千位分隔符数字为:", transPrice);
// 千位分隔符数字为:33,658
这段代码的难点在于千位分隔符的转换,具体可以查阅正则匹配的相关内容后尝试了解 replace() 方法的正则含义。其中使用到的 toString() 方法,是因为 replace() 方法是 JavaScript String 对象里的方法,而 price 又是一个数值类型,所以要把数值类型转换为字符串类型,才可以使用 replace() 方法。
这样就非常轻松的把需求给实现了。