js处理浮点数保留两位小数
前言
最近在做酒店管理系统的时候,有个订单总金额需要我根据每天房价计算,但因为房价是有两位小数的浮点数,有时候会有所偏差,例如20.02 * 3 * 3 = 180.1800000001等等,这就需要我们对数据自行处理了。
处理方法
1:转换字符串截取法
function deal()
{
var price = 180.1800000001 + "";
var price1 = price .substring(0,price .indexOf(".") + 3);
price = price1 * 1;
}
2:正则表达式处理
function deal()
{
var price = 180.1800000001 + "";
var rule = /([0-9]+.[0-9]{2})[0-9]*/; //定义正则表达式
var price1 = price .replace(rule ,"$1");
price = price1 * 1;
}
3:Math.round()方法,四舍五入处理
function deal()
{
var price = 180.1800000001;
price1 = Math.round(price *100)/100);
}
最后补充Math的其他方法
1.向上取整,有小数就整数部分加1
Math.ceil()
2.向下取整
Math.floor()