Jquery - .toFixed(2)固定数字减少到3位数

时间:2014-03-13 02:11:03

标签: javascript jquery html jquery-calculation

我有以下代码,除了将#result2限制为3 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/

3 个答案:

答案 0 :(得分:3)

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

有你的问题。您希望在之前将值{em}调用toFixed(3),然后将其传递给text()

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

在这样的时候逐步使用调试器可能很有用,可以看看表达式的评估位置以及它的工作原理。

答案 1 :(得分:0)

  
      
  1. 基本上将固定转换为数字转换为字符串并仅应用于字符串。
  2.   
  3. 获取不同变量中的值并将结果存储在变量中并应用于固定。
  4.   
var val1 = parseInt($("#calc3").val());
var val2 = parseInt($("#calc4").val());

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

2.存储文本框中的值。

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

OR

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

答案 2 :(得分:0)

如果使用parseFloat(),则

2位数字不能用作固定值。toFixed()很有用!如果你问我,那会更干净!