js函数(日期比较、加减乘除、四舍五入)

//日期格式yyyy-mm-dd
function compare(date1,date2){
    if(date1==null || date1=="" || date2==null || date2==""){
        return false;
    }
    date1=date1.substring(0,4)+date1.substring(5,7)+date1.substring(8,10);
    date2=date2.substring(0,4)+date2.substring(5,7)+date2.substring(8,10);
    return date1>date2;
}

//JS 精确计算 加法
function FloatAdd(arg1,arg2){   
  if (!arg1 || !$.isNumeric(arg1)) {
      arg1 = 0.0;
  }
  if (!arg2 || !$.isNumeric(arg2)) {
      arg2 = 0.0;
  }
  var r1,r2,m;   
  try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}   
  try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}  
  m=Math.pow(10,Math.max(r1,r2));
  //动态控制精度长度   
  n=(r1>=r2)?r1:r2; 
  return parseFloat(((arg1*m+arg2*m)/m).toFixed(n));   
}   

//JS 精确计算 减法   
function FloatSub(arg1,arg2){  
  if (!arg1 || !$.isNumeric(arg1)) {
      arg1 = 0.0;
  }
  if (!arg2 || !$.isNumeric(arg2)) {
      arg2 = 0.0;
  }
  var r1,r2,m,n;   
  try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}   
  try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}   
  m=Math.pow(10,Math.max(r1,r2));   
  //动态控制精度长度   
  n=(r1>=r2)?r1:r2;   
  return parseFloat(((arg1*m-arg2*m)/m).toFixed(n));   
}

//JS 精确计算 乘法
function FloatMul(arg1,arg2){   
  if (!arg1 || !$.isNumeric(arg1)) {
      arg1 = 0.0;
  }
  if (!arg2 || !$.isNumeric(arg2)) {
      arg2 = 0.0;
  }
  var m=0,s1=arg1.toString(),s2=arg2.toString();    
  try{m+=s1.split(".")[1].length;}catch(e){}    
  try{m+=s2.split(".")[1].length;}catch(e){}   
  var result = Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
  return isNaN(result) ? 0 : result;   
}

//JS 精确计算 除法
function FloatDiv(arg1,arg2){ 
  if (!arg1 || !$.isNumeric(arg1)) {
      arg1 = 0.0;
  }
  if (!arg2 || !$.isNumeric(arg2)) {
      arg2 = 0.0;
  }
  var t1=0,t2=0,r1,r2;    
  try{t1=arg1.toString().split(".")[1].length;}catch(e){}    
  try{t2=arg2.toString().split(".")[1].length;}catch(e){}    
   with(Math){    
      r1=Number(arg1.toString().replace(".",""));    
      r2=Number(arg2.toString().replace(".",""));
      var result = (r1/r2)*pow(10,t2-t1);
      return isNaN(result) ? 0 : result;    
   }    
}



//四舍五入,默认保留4位
function JSRound4Bit(fNum) {
    return JSRound(fNum,4);
}
//四舍五入,默认保留6位
function JSRound6Bit(fNum) {
    return JSRound(fNum,6);
}
//四舍五入
function JSRound(fNum, fBit) {
    var i = 1,
        m = 1;
    for (i = 1; i <= fBit; i++) {
        m = m * 10;
    }
    return Math.round(fNum * m) / m;
}

 

posted @ 2019-07-15 13:52  lost_s  阅读(638)  评论(0编辑  收藏  举报