来自于一个财金金融平台项目切图时候遇到的问题,金融平台有大量的ajax数据联掉,数据处理的工作,比如需要截取数字,保留5位小数点,这本身并不是复杂的事情num.toFixed(5) 就可以解决,,但是仍然需要很多判断,比如:
1,判断小数点后位数,是否大于5位,大于则截取,小于则不截取
2,判断是否整数,整数不截取(否则会把20截成 20.0000,也不可取)
3,截取之前先转字符串
代码如下:
/*2021.9.3*/
function formatNum(num,symbol=null){
var JPSymbol = ['AUDJPY','EURJPY','GBPJPY','USDJPY'];
num = Number(num);
//console.log(num);
var a = (num.toString()).indexOf(".");
if(a != -1) {
//alert("含有小数点");
var b = num.toString().split(".")[1].length;
//console.log(b);
//小数点大于5位
//涉及日元的品种为小数点后3位,其他品种为小数点后5位
if($.inArray(symbol, JPSymbol)==-1){
if(b>5){
return num.toFixed(5);
}
}
else{
if(b>3){
return num.toFixed(3);
}
}
}
return num;
}
//console.log(formatNum('2000.2'));
关注“qietuwang”微信公众号,获取一手干货内容推送
本文由切图网原创,转载请保留版权:
微信扫一扫二维码访问