js数据取整,取余,保留小数,数据脱敏等的一些处理方式

一个经典的解决四舍五入问题后js保留两位小数的方法:

1.四舍五入保留2位小数(若第二位小数为0,则保留一位小数)

function keepTwoDecimal(num) {
 var result = parseFloat(num);
 if (isNaN(result)) {
 alert('传递参数错误,请检查!');
 return false;
 }
 result = Math.round(num * 100) / 100;
 return result;
}

2.四舍五入保留2位小数(不够位数,则用0替补)

function keepTwoDecimalFull(num) {
 var result = parseFloat(num);
 if (isNaN(result)) {
 alert('传递参数错误,请检查!');
 return false;
 }
 result = Math.round(num * 100) / 100;
 var s_x = result.toString();
 var pos_decimal = s_x.indexOf('.');
 if (pos_decimal < 0) {
 pos_decimal = s_x.length;
 s_x += '.';
 }
 while (s_x.length <= pos_decimal + 2) {
 s_x += '0';
 }
 return s_x;
}

js保留两位小数,自动补充零

function returnFloat(value){
 var value=Math.round(parseFloat(value)*100)/100;
 var xsd=value.toString().split(".");
 if(xsd.length==1){
 value=value.toString()+".00";
 return value;
 }
 if(xsd.length>1){
 if(xsd[1].length<2){
 value=value.toString()+"0";
 }
 return value;
 }
}

正则表达式效果不错


最笨的但是也最安全和万能的办法

function get()
{
 var s = 22.127456 + "";
 var str = s.substring(0,s.indexOf(".") + 3);
 alert(str);
}

用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?以下方法为通用方法

1.丢弃小数部分,保留整数部分

parseInt(5/2)

2.向上取整,有小数就整数部分加1

Math.ceil(5/2)

3,四舍五入.

Math.round(5/2)

4,向下取整

Math.floor(5/2)

5.取余

 5%2//1

一些身份证件之类的中间一些数据的脱敏处理

在这里插入图片描述
dataTuomin(str) {
if(typeof str == ‘string’){ //参数为字符串类型
var len=str.length;
let ruten = str.substring(6); //提取字符串下标之间的字符。
return str.replace(ruten,’**’)+str.substring(len - 4, len); //字符串中用字符替换另外字符,或替换一个与正则表达式匹配的子串。
}
},
一些名字之类的脱敏处理

substring(str){
   if(typeof str == 'string'){ //参数为字符串类型
        let ruten = str.substring(1); //提取字符串下标之间的字符。
        return str.replace(ruten,'**'); //字符串中用字符替换另外字符,或替换一个与正则表达式匹配的子串。
   }
}

文章一多半转载自https://www.jb51.net/article/134067.htm

你可能感兴趣的:(前端知识,数据处理)