如何将margin_total四舍五入到小数点后3位?
margin_total = margin_total + parseFloat(marginObj.value); document.getElementById('margin_total').value = margin_total;
字符串
p1iqtdky1#
使用num.toFixed(d)将一个数字转换为该数字的 *String表示形式 *,以 base 10 为基数,小数点后为 d digits,在本例中,
num.toFixed(d)
d
margin_total.toFixed(3);
fhg3lkii2#
const roundedDown = Math.round(6.426475 * 1000) / 1000 console.log(roundedDown) // 6.426 const roundedUp = Math.round(6.426575 * 1000) / 1000 console.log(roundedUp) // 6.427
字符串上述代码四舍五入到3个小数位(dp)四舍五入到2 dp使用100而不是1000(所有出现)四舍五入到4 dp使用10000而不是1000你懂的!或者使用这个函数:
const round = (n, dp) => { const h = +('1'.padEnd(dp + 1, '0')) // 10 or 100 or 1000 or etc return Math.round(n * h) / h } console.log('round(2.3454, 3)', round(2.3454, 3)) // 2.345 console.log('round(2.3456, 3)', round(2.3456, 3)) // 2.346 console.log('round(2.3456, 2)', round(2.3456, 2)) // 2.35
型或者只使用具有相同签名的Lodash round-例如,_.round(2.3456,2)
fd3cxomn3#
toFixed()方法将数字转换为字符串,并保留指定的小数位数。输入的字符串表示形式,不使用指数表示法,小数位后的位数为精确位数。如果需要,数字将被舍入,如果需要,小数部分将用零填充,以便具有指定的长度。
toFixed()
function myFunction() { var num = 5.56789; var n = num.toFixed(3) document.getElementById("demo").innerHTML = n; }
个字符
wz3gfoph4#
const num = 70.012345678900 console.log(parseFloat(num.toFixed(3))); // expected output: 70.012
8gsdolmq5#
到目前为止,所有的解决方案在将1.015舍入到两位小数时都会产生错误的结果(返回1.01而不是1.02)。下面是一个函数,它将给予正确的结果,无论小数位是多少,修复了toFixed()舍入错误。
function roundTo(n, decimalPlaces) { return +(+(Math.round((n + 'e+' + decimalPlaces)) + 'e-' + decimalPlaces)).toFixed(decimalPlaces); } console.log(roundTo(1.015, 2));
字符串基于this solution . Learn more »
5条答案
按热度按时间p1iqtdky1#
使用
num.toFixed(d)
将一个数字转换为该数字的 *String表示形式 *,以 base 10 为基数,小数点后为d
digits,在本例中,字符串
fhg3lkii2#
字符串
上述代码四舍五入到3个小数位(dp)
四舍五入到2 dp使用100而不是1000(所有出现)
四舍五入到4 dp使用10000而不是1000
你懂的!
或者使用这个函数:
型
或者只使用具有相同签名的Lodash round-例如,_.round(2.3456,2)
fd3cxomn3#
toFixed()
方法将数字转换为字符串,并保留指定的小数位数。输入的字符串表示形式,不使用指数表示法,小数位后的位数为精确位数。如果需要,数字将被舍入,如果需要,小数部分将用零填充,以便具有指定的长度。个字符
wz3gfoph4#
字符串
8gsdolmq5#
到目前为止,所有的解决方案在将1.015舍入到两位小数时都会产生错误的结果(返回1.01而不是1.02)。下面是一个函数,它将给予正确的结果,无论小数位是多少,修复了
toFixed()
舍入错误。字符串
基于this solution . Learn more »