javascript特殊算法

 

1.>份数Round
在神行太保客户端系统中有些产品的投保份数必须为0.2的倍数。
(份数保留小数后一位,不满0.2的按0.2算,大于0.2不满0.4的按0.4算,
超过0.8,不满1.0的按1.0算;以此类推;以X.0(整数份)、X.2、X.4、X.6、X.8的格式结尾)
由于现有程序没有实现此规则的方法,我们自定义了新的javascript方法:
/**
* Rounding 规则:
* 份数保留小数后一位,不满0.2的按0.2算,
* 大于0.2不满0.4的按0.4算,超过0.8,
* 不满1.0的按1.0算;以此类推;
* 以X.0(整数份)、 X.2、X.4、X.6、X.8的格式结尾
* */
roundLevel: function (num){
   var temp = Math.ceil(num*10)/10;
   var str = temp + "";
   if(str.indexOf(".") == -1){
		return temp;
   }
   if(temp < 0.2){
	   return 0.2;
   }
   var arr = ['1','3','5','7','9'];
   var later = str.substring(str.indexOf('.')+1,str.length);
   if(tb.contains(arr, later)){
	  return this.round(eval(temp) + 0.1,1);
   } else {
	  return temp;
   }
},

你可能感兴趣的:(JavaScript)