1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > js金额千分位显示_JavaScript 格式化数字 金额 千分位 保留几位小数

js金额千分位显示_JavaScript 格式化数字 金额 千分位 保留几位小数

时间:2020-10-05 05:20:54

相关推荐

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];

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。