关键词1
关键词101
关键词201
关键词301
关键词401
关键词501
关键词601
关键词701
关键词801
关键词901
关键词1001
关键词1101
关键词1201
关键词1301
关键词1401
关键词1501
关键词1601
关键词1701
关键词1801
关键词1901
问答1
问答101
问答201
问答301
问答401
问答501
问答601
问答701
问答801
问答901
问答1001
问答1101
问答1201
问答1301
问答1401
问答1501
问答1601
问答1701
问答1801
问答1901
懂视1
懂视101
懂视201
懂视301
懂视401
懂视501
懂视601
懂视701
懂视801
懂视901
懂视1001
懂视1101
懂视1201
懂视1301
懂视1401
懂视1501
懂视1601
懂视1701
懂视1801
懂视1901
文库1
文库101
文库201
文库301
文库401
文库501
文库601
文库701
文库801
文库901
文库1001
文库1101
文库1201
文库1301
文库1401
文库1501
文库1601
文库1701
文库1801
文库1901
分类文章1
分类文章101
分类文章201
分类文章301
分类文章401
分类文章501
分类文章601
分类文章701
分类文章801
分类文章901
分类文章1001
分类文章1101
分类文章1201
分类文章1301
分类文章1401
分类文章1501
分类文章1601
分类文章1701
分类文章1801
分类文章1901
个人技术集锦
全部栏目
返回首页
操作系统
后端开发
数据库
前端开发
移动端开发
首页
操作系统
后端开发
数据库
前端开发
移动端开发
您的当前位置:
首页
正文
js格式化金额可选是否带千分位以及保留精度_javascript技巧
2020-11-27
来源:个人技术集锦
js格式化金额,可选是否带千分位,可选保留精度,也是网上搜到的,但是使用没问题
代码如下:
/*
将数值四舍五入后格式化.
@param num 数值(Number或者String)
@param cent 要保留的小数位(Number)
@param isThousand 是否需要千分位 0:不需要,1:需要(数值类型);
@return 格式的字符串,如'1,234,567.45'
@type String
*/
function formatNumber(num,cent,isThousand){
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))//检查传入数值为数值类型.
num = "0";
if(isNaN(cent))//确保传入小数位为数值型数值.
cent = 0;
cent = parseInt(cent);
cent = Math.abs(cent);//求出小数位数,确保为正整数.
if(isNaN(isThousand))//确保传入是否需要千分位为数值类型.
isThousand = 0;
isThousand = parseInt(isThousand);
if(isThousand < 0)
isThousand = 0;
if(isThousand >=1) //确保传入的数值只为0或1
isThousand = 1;
sign = (num == (num = Math.abs(num)));//获取符号(正/负数)
//Math.floor:返回小于等于其数值参数的最大整数
num = Math.floor(num*Math.pow(10,cent)+0.50000000001);//把指定的小数位先转换成整数.多余的小数位四舍五入.
cents = num%Math.pow(10,cent); //求出小数位数值.
num = Math.floor(num/Math.pow(10,cent)).toString();//求出整数位数值.
cents = cents.toString();//把小数位转换成字符串,以便求小数位长度.
while(cents.length
cents = "0" + cents;
}
if(isThousand == 0) //不需要千分位符.
return (((sign)?'':'-') + num + '.' + cents);
//对整数部分进行千分位格式化.
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);
}
显示全文