<тип ввода = число> и форматирование с использованием одного десятичного знака в Chrome - PullRequest
2 голосов
/ 28 января 2012

Я использую <input type=number>, где я размещаю значения, используя Javascript.Я хотел бы отформатировать эти числа, чтобы всегда иметь один десятичный знак.Chrome упрямо убирает конечный ноль из чисел, если они имеют, например, 1.0 -> 1.

Видимо, я должен установить атрибут pattern элемента управления.Однако я не уверен, какие значения здесь принимает Chrome и каков будет правильный шаблон для форматирования чисел.

Ответы [ 2 ]

1 голос
/ 15 мая 2013

pattern используется для указания регулярного выражения, которому должно соответствовать любое значение, предоставленное пользователем. Что-то вроде pattern='[0-9]+\.[0-9]' должно указывать 1 или более цифр, десятичную, а затем 1 цифру. Возможно, вы также захотите установить размер шага равным 0,1 (step=0.1), чтобы задать только 1 десятичный знак. Я не знаю, будет ли Chrome учитывать атрибуты pattern и size или нет, но именно так их можно указать.

0 голосов
/ 28 января 2012

W3CSchools говорит, что атрибут сопоставления принимает строку регулярного выражения для соответствия. Я ни в коем случае не гуру регулярных выражений, , но вы можете найти приемлемое регулярное выражение, отвечающее вашим потребностям на этом сайте.

Обновление: было предложено, чтобы я ссылался на лучший ресурс, чем первоначально перечисленные W3Schools, так что здесь сказано "лучшая" ссылка, https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

Примечание для редактораХотя я ценю чувство улучшения ответа и предоставления лучших ресурсов для будущих читателей, я лично, несмотря на правила и политику сайта, ЛИЧНО НЕНАВИЖУ, когда изменения вносят слова в мой рот.Добавьте комментарий, добавьте ответ, но не редактируйте весь текст моего ответа, чтобы изменить то, что я сказал почти 2 года назад.;)

...