我正在努力处理一个输入,它应该给我输入 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/