Подтвердить что ты не робот

Для ввода номера html всегда отображаются 2 десятичных знака

Я делаю форму, в которой пользователь может ввести сумму в долларах, используя тег ввода номера html. Есть ли способ, чтобы поле ввода всегда отображало 2 десятичных знака?

4b9b3361

Ответ 1

Итак, если кто-то еще наткнется на это, это решение для решения этой проблемы JavaScript:

Шаг 1: Подключите окно ввода номера HTML к событию onchange

myHTMLNumberInput.onchange = setTwoNumberDecimal;

или в html-коде, если вы предпочитаете

<input type="number" onchange="setTwoNumberDecimal" min="0" max="10" step="0.25" value="0.00" />

Шаг 2: Запишите метод setTwoDecimalPlace

function setTwoNumberDecimal(event) {
    this.value = parseFloat(this.value).toFixed(2);
}

Изменив "2" в toFixed, вы можете получить более или менее десятичные разряды, если вы этого пожелаете.

Ответ 2

встроенное решение объединяет предложения Groot и Ivaylo в следующем формате:

onchange="(function(el){el.value=parseFloat(el.value).toFixed(2);})(this)"

Ответ 3

Какие другие люди размещены здесь, в основном работали, но использование onchange не работает, когда я меняю номер, используя стрелки в одном направлении более одного раза. Что работало oninput. Мой код (в основном заимствования у MC9000):

HTML

<input class="form-control" oninput="setTwoNumberDecimal(this)" step="0.01" value="0.00" type="number" name="item[amount]" id="item_amount">

JS

function setTwoNumberDecimal(el) {
        el.value = parseFloat(el.value).toFixed(2);
    };

Ответ 4

Чистый html не способен делать то, что вы хотите. Мое предложение состояло в том, чтобы написать простую функцию javascript, чтобы сделать рудинирование для вас.

Ответ 5

Посмотрите toFixed для номеров Javascript. Вы можете написать функцию onChange для вашего числового поля, которая вызывает на вход FIFX и устанавливает новое значение.

Ответ 6

Вы можете использовать Telerik numerictextbox для большой функциональности

<input id="account_rate" data-role="numerictextbox" data-format="#.000" data-min="0.001" data-max="100" data-decimals="3" data-spinners="false" data-bind="value: account_rate_value" onchange="APP.models.rates.buttons_state(true);" />

код ядра скачать бесплатно

Ответ 7

Принятое решение здесь неверно. Попробуйте это в HTML:

onchange="setTwoNumberDecimal(this)" 

и функция выглядит следующим образом:

 function setTwoNumberDecimal(el) {
        el.value = parseFloat(el.value).toFixed(2);
    };

Ответ 8

Еще более простое решение будет следующим:

//limit number input decimal places to two
$(':input[type="number"]').change(function(){
     this.value = parseFloat(this.value).toFixed(2);
});