Javascript .toFixed()未正确舍入数字
昨天我遇到了一个问题,当我使用Javascript/jQuery将某些数字乘以100时,返回了一个奇怪的数字 即16.74*100=1673.999999998 搜索之后,我发现这与浮点值有关,使用Javascript .toFixed()未正确舍入数字,javascript,jquery,Javascript,Jquery,昨天我遇到了一个问题,当我使用Javascript/jQuery将某些数字乘以100时,返回了一个奇怪的数字 即16.74*100=1673.999999998 搜索之后,我发现这与浮点值有关,使用.toFixed命令应该可以解决这个问题 这是我的代码,似乎不起作用 <input type="text" name="f_prodcost" id="f_prodcost" /> <input type="text" name="h_prodcost" id="h_prodcost
.toFixed
命令应该可以解决这个问题
这是我的代码,似乎不起作用
<input type="text" name="f_prodcost" id="f_prodcost" />
<input type="text" name="h_prodcost" id="h_prodcost" disabled="disabled" />
<script>
$('#f_prodcost').change(function() {
$('#h_prodcost').val($(this).val()*100).toFixed();
});
</script>
$('f#u prodcost')。更改(函数(){
$('h#u prodcost').val($(this.val()*100.toFixed();
});
我已经阅读了关于Stackoverflow的其他问题,但我还没有卖出这个问题,我知道这对于一个对javascript/jquery有着清晰理解的人来说可能真的很简单,但我目前正在学习,所以我希望能有任何指示。您必须将参数传递给
。toFixed
函数
$('#h_prodcost').val($(this).val()*100).toFixed(2)
这将返回点后最多2位数字
此值1673.999999999998
将返回1673.99
您可以将
toFixed()
函数传递给任何数字1、2、3等如果您有括号问题。在设置输入值之前,必须调用toFixed
方法
$('f#u prodcost')。更改(函数(){
$('h#u prodcost').val($(this.val()*100.toFixed());
});代码>
看起来您的括号有误,请尝试以下操作
$('#h_prodcost').val(($(this).val()*100).toFixed());
您需要调用toFixed()
才能传递到.val()
Number($('h#u prodcost').val($(this.val()*100)).toFixed();。它到底是如何不适合你的?它会在控制台中显示错误消息?它打印的值不正确?它会使计算机着火?数字是可选的。如果未传递任何值,则默认值为0。您的toFixed
仍然是参数的错误端。这是OP中的实际错误。