我有一种情况,我想将小数点后两位小数舍入。
目前.toFixed(2)可以正常工作,但是对于0.455,我想得到0.45,而不是0.46
有什么快速解决方案吗?如果可以解决此问题,我可以使用Lodash。
例如,我想要以下内容。
0.455> 0.45
0.456> 0.46
0.4549> 0.45
最佳答案
乘以100,向下取整,向下取100,除以toFixed。
function roundDownToFixed2(v) {
return (Math.floor(v * 100) / 100).toFixed(2);
}
> roundDownToFixed2(0.455)
'0.45'
一个更通用的版本是
function roundDownToFixed(v, d=2) {
const mul = Math.pow(10, d);
return (Math.floor(v * mul) / mul).toFixed(d);
}
> roundDownToFixed(0.455, 2)
'0.45'
> roundDownToFixed(0.4555, 3)
'0.455'