Javascript parseInt parseFloat和舍入小数

时间:2016-08-01 19:33:26

标签: javascript php jquery html forms

我有一个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停止工作...正如您可能了解的那样,在更改销售价格或数量时税收也是自动填充,因为总税收变化因此税收

2 个答案:

答案 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);