js运算保留后面两位小数

首先创建一个js的文件,例如下面的round.js

round.js的代码如下

function round(num,dec){ 
    var strNum = num + '';/*把要转换的小数转换成字符串*/
    var index = strNum.indexOf("."); /*获取小数点的位置*/
    if(index < 0) {
        return num;/*如果没有小数点,那么无需四舍五入,返回这个整数*/
    }
    var n = strNum.length - index -1;/*获取当前浮点数,小数点后的位数*/
    if(dec < n){ 
    	/*把小数点向后移动要保留的位数,把需要保留的小数部分变成整数部分,只留下不需要保留的部分为小数*/ 
        var e = Math.pow(10, dec);
        num = num * e;
        /*进行四舍五入,只保留整数部分*/
        num = Math.round(num);
        /*再把原来小数部分还原为小数*/
        return num / e;
    } else { 
        return num;/*如果当前小数点后的位数等于或小于要保留的位数,那么无需处理,直接返回*/
    } 
} 

在另一个list.jsp页面里.

写的js运算如下图

/*
 * 计算总计
 */
 function showTotal(){
	/*
	*1.获取所有的被勾选的条目复选框!循环遍历
	*/
	var total = 0;
	$(":checkbox[name=checkboxBtn][checked=true]").each(function(){
		//2. 获取复选框的值,即其他元素的前缀
		var id = $(this).val();
		//3. 再通过前缀找到小计元素,获取其文本
		var text = $("#" + id + "Subtotal").text();
		//4. 累加计算
		total += Number(text);
	});
	//5. 把总计显示在总计元素上
	$("#total").text(round(total,2));
}

showTotal是计算加法运算的方法.

实现加法运算得到total ---->    total += Number(text); 

想要把total的运算结果转为保留小数点后几位就使用

(round(加法运算,保留几位小数)) ---->    $("#total").text(round(total,2));

猜你喜欢

转载自blog.csdn.net/superman___007/article/details/80342748