Удаление ведущих нулей из числа в Javascript [дубликат]
Возможные Дубликаты:
усечь ведущие нули строки в Javascript
каков самый простой и кросс-браузер совместимый способ удаления ведущих нулей из числа в Javascript ?
например, если у меня есть значение текстового поля как 014 или 065, он должен возвращать только 14 или 65
3 ответов:
попробовать parseInt.
parseInt("065", 10);
Второй параметр предназначен для radix и в соответствии с документацией он всегда должен быть указан. MDN говорит:,radix
целое число, которое представляет собой основание вышеупомянутого строка. Всегда указывайте этот параметр, чтобы исключить путаницу чтения и гарантировать предсказуемое поведение. Различных реализаций производить различные результаты, когда не указано основание.
.............
.............
Если radix не определен или 0 (или отсутствует), JavaScript предполагает следующее:
- если на входе строка начинается с "0x" или "0X", radix равен 16 (шестнадцатеричный) и остаток строки анализируется.
- если на входе строка начинается с "0", корень-восемь (восьмеричный) или 10 (десятичный). Именно то, что корень выбор зависит от реализации. ECMAScript 5 указывает, что используется 10 (десятичное число), но не все браузеры поддерживают этого пока нет. По этой причине всегда указывать основание системы счисления при использовании parseInt.
- если на входе строка начинается с любого другого символа, основание равно 10 (десятичное число.)
например, в некоторых реализациях
parseInt("01803")даст1. Если цель-сделать1803, вызов parseInt с a радиус 10 для обеспечения разбора выполняется в базовой десятичной системе счисления. То есть:parseInt("01803", 10)даст1803. Обратите внимание, что для нецелого значения parseInt() округляет число, возвращаемое в виде целого числа.paseInt("018.03", 10)даст18.
непонятно, почему вы хотите сделать это. Если вы хотите получить правильное числовое значение, вы можете использовать унарный
+[docs]:value = +value;Если вы просто хотите отформатировать текст, то регулярное выражение может быть лучше. Это зависит от ценностей, с которыми вы имеете дело, я бы сказал. Если у вас есть только целые числа, то
input.value = +input.value;- это нормально. Конечно, это также работает для значений с плавающей точкой, но в зависимости от того, сколько цифр у вас после точки преобразование ее в число и обратно в строку может (по крайней мере, для отображения) удалить некоторые.
Comments