仅当十进制大于x时,jQuery舍入数

时间:2015-02-18 13:16:17

标签: jquery numbers decimal rounding

所以我有两个输入[text]字段:

<input type="text" id="CM" size="2" maxlength="5">

<input type="text" id="CM2" readonly>

这个jQuery代码:

<script type="text/javascript">
        $('#CM').keyup(function(){
        $total = ($('#CM').val() * 3) / 2;
        $('#CM2').val($total);
        });
</script>

这只是一个简单的数学运算,我需要稍微调整一下而且我被卡住了。

如果第一个十进制数大于或等于3,我需要将$ total变量四舍五入。否则,向下舍入$ total。

所以,如果$ total = 3,3;我需要它四舍五入到4。 否则如果$ total = 3,2;我需要它向下舍入到3。

有人可以帮忙吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

尝试使用提醒来获取第一个小数

$('#CM').keyup(function() {
  var $total = ($('#CM').val() * 3) / 2;
  $('#CM2').val(($total * 10 % 10 <= 3) ? Math.floor($total) : Math.ceil($total));

  //just to display the actual total
  $('#actual').val($total)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="CM" size="2" maxlength="5">
<input type="text" id="CM2" readonly>

<input type="text" id="actual" readonly>

答案 1 :(得分:0)

$('#CM').keyup(function(){
        $total = ($('#CM').val() * 3) / 2;

        if (($total-parseInt($total)) >= 0.3)  {
            $total = parseInt($total) + 1;
        } else {
            $total = parseInt($total);
        }
        $('#CM2').val($total);
 });

如果value大于.3,则解析+ 1.如果不是,只需解析。