Jquery - .toFixed (2) фиксированное число уменьшается до 3 цифр

0

У меня есть следующий код, который работает, за исключением ограничения #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/

Теги:

2 ответа

3
Лучший ответ
$("#result2").text(val1 / val2).toFixed(3);

Там твоя проблема. Вы хотите вызвать toFixed(3) значение, прежде чем передать его в text().

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

Может быть полезно пройти через отладчик в такие моменты, чтобы увидеть, где выражения оцениваются и как они работают.

  • 0
    Спасибо, Алекс. Это сработало отлично. Это никогда не подводит. Длинный день = пропущенные скобки.
0
  1. В основном toFixed конвертировать число в строку и применять только к String.
  2. Получите значения в разных переменных и сохраните результат в переменной и примените toFixed.
var val1 = parseInt($("#calc3").val());
var val2 = parseInt($("#calc4").val());

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

2. Сохраните значение в текстовом поле.

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

ИЛИ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню