我试图将值从8904000舍入到8900000是否有任何可能的方法来使用Math.round更改此值。 MS Excel中的示例
=round(8904000,-5);
ANS: 8900000
我尝试了下面的代码,但Math.round没有采用第二个参数
Math.round(8904000,-5);
ANS: 8904000
简而言之,我想将数字四舍五入到最接近的100,000数
因此5300 * 56 * 30 = 8904000变为8900000
答案 0 :(得分:2)
试试这个,
function roundDown(number, decimals) {
decimals = decimals || 0;
return ( Math.floor( number * Math.pow(10, decimals) ) / Math.pow(10, decimals) );
}
roundDown(8904000, -5)
答案 1 :(得分:2)
舍入到小数位的常用解决方案是:
Number.prototype.toFixed()
float
乘以某些power of 10
,以便利用Math.round()
。 这两个工作都有效,除了有时小数为5的四舍五入而不是向上。通过使用以指数表示法表示的数字可以避免舍入问题
试试这个
function round(value, decimals) {
return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
}
round(8904000, 5)
答案 2 :(得分:0)
Math.round(value/1000000)*1000000
将value
除以舍入unit
,因此1000000
,Math.round()
数字和multiply
与指定的unit
。