逐渐变细/舍入小数答案JS计算

时间:2015-08-13 20:24:36

标签: javascript

使用JS运行一个简单的公式,但就像我在小数点答案之前所做的许多JS计算一样,比我想要的时间更长,并使它看起来很草率。

我是否有办法强制计算停在某个小数位或强制从那里开始?

谢谢!

    <script>
    var $u = $('input[name=u]');
    var $a = $('input[name=a]');
    var $h = $('input[name=h]');
    $u.on('keyup',function() {
        var u = +$u.val();
        var a = +$a.val();
        $h.val(u*4.605+a*1.308+28.003).toFixed(1);
    });
    $a.on('keyup',function() {
        var u = +$u.val();
        var a = +$a.val();
        $h.val(u*4.605+a*1.308+28.003).toFixed(1);
    });

    </script>

2 个答案:

答案 0 :(得分:3)

我看到你试过toFixed()。我相信这是解决方案,但你试图在jQuery对象上调用它。在将数字传递给val()之前,您应该在数字上调用它。

将您的代码更改为:

$a.on('keyup',function() {
        var u = +$u.val();
        var a = +$a.val();
        $h.val((u*4.605+a*1.308+28.003).toFixed(1));
    });

答案 1 :(得分:1)

&#13;
&#13;
// $('#a').val(Math.PI).toFixed(1); // You're inserting the full value, and then executing
                                    // toFixed on a jQuery Object. Not going to work.

$('#a').val( (Math.PI).toFixed(1) ); // How it should be written
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<input id="a"/>
&#13;
&#13;
&#13;