ti-enxame.com

aparar "px" no final do Jquery var

Eu tenho uma variável que armazena o valor css de uma margem. Quero remover o "px" do final para que eu tenha apenas o número para trabalhar. Como posso fazer isso?

27
phil crowe
var x = "1px";
var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior
60
Alex Reitbort

Opção 1:

parseInt('200px', 10);

A função parseInt () analisa uma sequência e retorna um número inteiro. Não altere os 10 encontrados na função acima (conhecida como "raiz"), a menos que você saiba o que está fazendo.

A saída será: 200.

Opção 2 (eu pessoalmente prefiro esta opção)

parseFloat('200px')

A saída será: 200

A função parseFloat () analisa uma sequência e retorna um número de ponto flutuante.

A função parseFloat () determina se o primeiro caractere na cadeia especificada é um número. Se for, analisa a sequência até chegar ao final do número e retorna o número como um número, não como uma sequência.

A vantagem da opção 2 é que, se você usar números decimais (por exemplo, 200,32322px), receberá o número retornado com os valores atrás do ponto decimal. Útil se você precisar de números específicos retornados.

6
Arman Nisch

Usar o método String.replace () é uma maneira fácil:

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

2
Rob Olmos

É melhor usar parseFloat ()

Nas situações em que você possui casas decimais, como 0,5s para atraso de transição, parseInt (x, 10) retorna zero, enquanto, por outro lado, parseFloat () retorna 0,5

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