论坛首页 Web前端技术论坛

toFloat转浮点函数(精度)

浏览 2902 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-28  
/**
		 * 将字符串或数字转换为指定精度的浮点数
		 * 
		 * @param F{String ||
		 *            Number} 要转换的字符串或浮点数
		 * @param len{Integer}
		 *            精度,默认小数点后两位
		 * @param returnNull{Boolean}
		 *            当F为非数字字符串时,返回null或原字符串,默认返回原字符串
		 */
		toFloat : function (F, len, returnNull) {
			len = len >= 0 ? len : 2;
			var f = parseFloat(F),nf;
			var offset = 0;
			if(!isNaN(f)){
				var str = f.toString().split(".");
				if(str.length==2){
					if(str[1].length > len){
						var si = parseInt(str[1].substr(0,len))+parseFloat("0." + str[1].charAt(len));
						str[1] = Math.round(si).toString();
						if(str[1].length > len){
							offset = 1;
							str[1]=str[1].substr(1,len);
						}
					}
				}
				str[0] = parseInt(str[0])+offset;
				nf = str.length > 1 && len!==0 ? str.join(".") : str[0];
			}
			return nf ? nf : (returnNull ? null : F);
		},
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics