1

我有以下代码,除了限制#result23 digits

current #result2: input 1 and you get 0.010416666666666666

needed #result2: input 1 and get 0.01

我需要将结果限制在0.00 2 digits之后,以免结果很长。

作为宠物项目的一部分,这将用于为设计师将像素转换为英寸。

** 如果结果实际上可以转换为英寸,那将是非常棒的,例如:输入 1 并返回 1/8 但不确定是否可以这样做???

这是HTML:

<label>Pixels</label>
<input class="calcd" id="calc3" type="text" />
<input class="calcd" id="calc4" type="hidden" value="96" />
<p>Inches</p><span id="result2"></span>

这是jQuery:

$(document).ready(function(){

    $(".calcd").keyup(function(){

        var val1 = parseInt($("#calc3").val());
        var val2 = parseInt($("#calc4").val());

        if ( ! isNaN(val1) && ! isNaN(val2))
        {
             $("#result2").text(val1 / val2).toFixed(3);
        }
    });

});

提前致谢!

这是 JSFIDDLE:http: //jsfiddle.net/4ZdJL/

4

3 回答 3

3
$("#result2").text(val1 / val2).toFixed(3);

有你的问题。您想toFixed(3)在将值传递给之前text()调用它。

$("#result2").text((val1 / val2).toFixed(3));

有时像这样使用调试器进行单步调试可能会很有用,以查看表达式在哪里进行评估以及它是如何工作的。

于 2014-03-13T02:20:13.737 回答
1
  1. 基本上 toFixed 将数字转换为字符串并仅适用于字符串。
  2. 获取不同变量中的值并将结果存储在变量中并应用于固定。
var val1 = parseInt($("#calc3").val());
var val2 = parseInt($("#calc4").val());

var result = (val1 / val2).toFixed(3);

2.将值存储在文本框中。

$("#result2").text(result); 

或者

 $("#result2").val(result);
于 2016-01-25T07:40:12.240 回答
0

如果您使用 parseFloat().toFixed() ,则 Int 的 2 位数字不适用于固定值!如果你问我更清洁!

于 2019-02-15T12:57:44.460 回答