Не указано десятичное место ввода номера HTML5 на некоторых устройствах Android / Chrome

На некоторых устройствах Android, создающих поле ввода номера HTML5, не отображается десятичное место.

<input type="number" step="0.001" min="0" name="foo" /> 

Это хлопотно, так как я пытаюсь написать приложение HTML5 + Javascript. Он работает на IOS на данный момент, а также на некоторых (большинство?) Android-устройствах. Просто некоторые версии / бренды Android не показывают десятичное место на клавиатуре с цифрами.

Например, в Galaxy S3 приложение работает отлично, но если тот же код открывается в Chrome, вы не получаете десятичной точки. Я использую эту комбинацию для тестирования и попытаюсь обойти ошибку.

Вот вопрос: есть ли способ использовать Javascript для DETECT, чтобы клавиатура не показывала десятичную точку? В таких обстоятельствах я могу программным образом изменить тип number на text , но я хочу сделать это только для устройств, которые это необходимо.

(В качестве альтернативы, есть ли способ заставить десятичную точку появляться на клавиатуре? Мои исследования пока показали, что их нет, поэтому я спрашиваю об этом обходной путь.)

Я попытался использовать различные шаги ( any , 0.1 и т. Д.), Установив шаблоны, установив значение стартера в десятичное ( value="0.1" ) все безрезультатно.

Я попытался обнаружить, что браузер может обрабатывать числовые поля, но это возвращается как «истина» … устройства МОГУТ обрабатывать числовые поля, они просто плохо справляются с ними:

 var i = document.createElement("input"); i.setAttribute("type", "number"); i.setAttribute("step", "0.001"); alert(i.type + ' and ' + i.step); // gives "number and 0.001", so the device has stored the values and claims to support them 

Я не уверен, что попробовать дальше … любые идеи сообщества?

Solutions Collecting From Web of "Не указано десятичное место ввода номера HTML5 на некоторых устройствах Android / Chrome"