我有一个javascript来自动填充一些输入,没有用我的代码四舍五入它工作正常它更改并自动填充输入,但尝试添加Math.round或舍入它舍入小数但不更改不自动填充如果一些addEventListener改变就像它必须做的那样
工作代码
taxes.value = parseInt(parseFloat(totaltopay.value) * (1.00/1.19));
添加一些代码来舍入小数,它不会自动填充输入
taxes.value = parseInt(parseFloat(Math.round(totaltopay.value) * (1.00/1.19)));
任何方法可以将此结果四舍五入并使其正常工作?
必须执行以下操作:
taxes = 23123.764345645
四舍五入,仅显示23124
没有逗号的点数
修改
输入数量改变总支付与输入数量*输入销售价格并给出总支付价格,这个总支付输入我们采取的金额获得税,它工作没有四舍五入,但试图四舍五入addEventListener停止工作...正如您可能了解的那样,在更改销售价格或数量时税收也是自动填充,因为总税收变化因此税收
答案 0 :(得分:3)
所以,要记住的事情:
parseInt()
创建整数。你给它一个字符串或数字,你得到一个数字没有十进制的情况。注意:parseInt
有一个基数,你可能想要使用基数10:parseInt(yourString, 10);
parseFloat()
接受一个字符串并返回一个带小数个案的数字Math.round()
取一个数字(*)并返回一个整数,四舍五入到最接近的整数Number()
接受一个字符串(或数字)并将其转换为数字,保留十进制大小写所以,你需要的是:
taxes.value = Math.round(Number(totaltopay.value) * 1.00 / 1.19);
(*) - Math.round适用于字符串,但是MDN's docs say: give it a number
答案 1 :(得分:0)
您只需要使用 Math.round()
对数字进行四舍五入并返回一个整数值。在应用*
(乘法)或/
(除法)时,值会自动被解析为Number,因此不需要硬编码方法来解析它们。
taxes.value = Math.round(totaltopay.value * 1.00 / 1.19);