我是靠谱客的博主 失眠小丸子,最近开发中收集的这篇文章主要介绍js金额千分位显示_JavaScript 格式化数字、金额、千分位、保留几位小数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JS对货币格式化函数

方法一:保留2位小数

/**

* 将数值四舍五入(保留2位小数)后格式化成金额形式

*

* @param num 数值(Number或者String)

* @return 金额格式的字符串,如'1,234,567.45'

* @type String

*/

export function formatCurrency(num) {

num = num.toString().replace(/[^d.-]/g,''); //转成字符串并去掉其中除数字, . 和 - 之外的其它字符。

if(isNaN(num)) num = "0"; //是否非数字值

var sign = (num == (num = Math.abs(num)));

num = Math.floor(num * 100 + 0.50000000001); //下舍入

var cents = num % 100; //求余 余数 = 被除数 - 除数 * 商

cents = (cents < 10) ? "0" + cents : cents; //小于2位数就补齐

num = Math.floor(num / 100).toString();

for(var i = 0; i < Math.floor( (num.length - (1+i)) / 3 ); i++ ){ //每隔三位小数分始开隔

num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));

}

return (((sign) ? '' : '-' ) + num + '.' + cents);

}

方法二

/**

* 参数说明

* @param s:要格式化的数字

* @param n:保留几位小数

* */

function formatCurrency(s, n) {

n = n > 0 && n <= 20 ? n : 2; //n大于0小于等于20时,值为n,否则默认为2

//将要格式化的数字转换成字符串,并去掉其中匹配的其他字符后返回一个浮点数。

//把 Number 四舍五入为指定位数的数字后,最终在转换成字符串。

s = parseFloat((s + "").replace(/[^d.-]/g, "")).toFixed(n) + "";

var numArry = s.split("."), //分隔字符串 0 -> 小数点前面数值 1 -> 小数点后面的尾数

l = numArry[0].split("").reverse(), //将前面数值再分隔,并反转顺序

t = "";

for (var i = 0; i < l.length; i++) { //每隔三位小数分始开隔

t += l[i] + ( (i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "" );

}

//将顺序反转回来,并返回一个字符串

return t.split("").reverse().join("") + "." + numArry[1];

}

最后

以上就是失眠小丸子为你收集整理的js金额千分位显示_JavaScript 格式化数字、金额、千分位、保留几位小数的全部内容,希望文章能够帮你解决js金额千分位显示_JavaScript 格式化数字、金额、千分位、保留几位小数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部