2010-09-02 2 views
23

У меня есть переменная, которая сохраняет значение css с поля. Я хочу удалить «px» с конца, так что у меня есть только номер для работы. Как я могу это сделать?trim "px" с конца JQuery var

ответ

55
var x = "1px"; 
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior 
+0

«Целое число, которое представляет собой основание вышеупомянутой строки. * Всегда указывайте * этот параметр, чтобы устранить путаницу читателя и *, чтобы гарантировать предсказуемое поведение *. Различные реализации приводят к различным результатам, когда редикс не указан «. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt –

+0

Из-за некоторых проблем с IE вы можете найти parseFloat лучше. Это связано с тем, что IE использует частичные пиксели, например 27.86 вместо 28. – Teegan

2

Используя метод string.replace() является простым способом:

http://www.w3schools.com/jsref/jsref_replace.asp

+0

Почему downvote? Я могу думать о нескольких местах, где parseInt и parseFloat слишком разборчивы для общего использования. –

+0

Хе-хе, тот же пользователь также поставил вопрос вместе с моим ответом, прежде чем Алекс Рейтборт дал свой ответ. Вероятно, только злонамеренный пользователь: P –

0

Вы лучше использовать parseFloat()

В ситуациях, когда у вас есть десятичные, как 0,5 с для задержки перехода, parseInt (x, 10) возвращает ноль, где в противоположность parseFloat() возвращает 0,5

var x = "0.5s"; 
var y = parseFloat(x); //returns 0.5 
+0

Вопрос конкретно о пикселях ('0.5px' не так часто встречается, как' 0.5s'). –

4

Вариант 1:

parseInt('200px', 10); 

Функция ParseInt() анализирует строку и возвращает целое число. Не изменяйте 10 найденных в вышеуказанной функции (называемой «radix»), если вы не знаете, что делаете.

Выходной будет: 200.

Вариант 2(лично я предпочитаю этот вариант)

parseFloat('200px') 

Выходной будет: 200

parseFloat () анализирует строку и возвращает число с плавающей запятой.

Функция parseFloat() определяет, является ли первый символ в указанной строке числом. Если это так, он анализирует строку до тех пор, пока не достигнет конца номера, и вернет номер в виде числа, а не как строку.

Преимущество варианта 2 состоит в том, что если вы используете десятичные числа (например, 200.32322px), вы получите возвращаемый номер со значениями за десятичной точкой. Полезно, если вам нужны конкретные числа, возвращенные.