JavaScript/jQuery : how to limit input value to 2 decimals after the point

标签 javascript jquery tofixed

我正在努力处理一个输入,它应该给我输入 B 的减法 - 输入 A 在点后 2 位小数。它只是有时有效:

$('.b').on('keyup', function() {
  var substr = $('.b').val() - $('.a').val();
  $('.c').val(substr).toFixed(2);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
A <input type="text" class="form-control a" value="" /><br /><br /> B <input type="text" class="form-control b" value="" /><br /><br /> B-A <input type="text" class="form-control c" value="" />

例如:如果您在 A 中填写:0.58,在 B 中填写 0.82,则 C 中的值保留 2 位小数 但是,如果我将 B 中的值更改为 0.81,C 的值将不再保留两位小数!

为什么会出现这种奇怪的行为?

最佳答案

您应该在 substr 上调用 toFixed():

$('.b').on('keyup', function() {
    var substr = $('.b').val() - $('.a').val();
    $('.c').val(substr.toFixed(2))
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
A <input type="text" class="form-control a" value="" /><br /><br />


 B <input type="text" class="form-control b" value="" /><br /><br />


  B-A <input type="text" class="form-control c" value="" />

关于JavaScript/jQuery : how to limit input value to 2 decimals after the point,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68684716/

相关文章:

javascript - Ember.js:这些 .pushObject() 调用是同义的吗?

javascript - 用适当的替换覆盖 toFixed() 以修复浮点错误 javascript

javascript - parseFloat 和 toFixed 只返回 1 位小数

用于向 Google 地球插件 map 添加/删除地标的 Javascript

javascript - 仅在特定字符周围添加样式标签

javascript - 如何使用 jQuery 或 CSS 自动调整(拉伸(stretch))div 高度和宽度

javascript - 将变量传递给对象方法javascript

javascript - jQuery 对话框中的箭头

javascript - Catch语句未捕获引发的错误

javascript - 来自输入的 parseInt 值,并使用 Javascript 检查最后一个值的总和