以前没注意,今天要在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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐