以前没注意,今天要在javascript里保留小数点后2位才发现,javascript真是一个反人类的语言,几乎所有的编程言四舍五入保留点后2位都是round(num,2),javascript的round只有一个参数,仅返回四舍五入取整的数。javascript中保留小数点后2位的操作如下:
四舍五入
方法1:
num=2.34678;
num=num.toFixed(2);
console.log(num);
//输出 2.35
方法2:
num=2.34678;
num=Math.round(num*100)/100;
console.log(num);
//输出 2.35
不四舍五入
num = 2.346789;
num = Math.floor(num*100)/100;
console.log(num);
//输出: 2.34
转换成我习惯使用的函数
myround = function(num,k){ return num.toFixed(k); }
myround2= function(num,k){ return Math.round(num*Math.pow(10,k))/Math.pow(10,k); }
myfloor = function(num,k){ return Math.floor(num*Math.pow(10,k))/Math.pow(10,k); }
print(myround(2.3467890,3)); //2.347
print(myround2(2.3467890,3)); //2.347
print(myfloor(2.3467890,3)); //2.346