2010-09-02 30 views

回答

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 – 2014-08-12 16:51:47

+0

由於IE的一些問題,你可能會發現parseFloat更好。這是因爲IE使用了部分像素,如27.86而不是28. – Teegan 2014-12-09 06:15:49

2

使用與string.replace()方法是一個簡單的方法:

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

+0

爲什麼downvote?我可以想到parseInt和parseFloat對於一般用途來說太挑剔的幾個地方。 – 2010-09-02 09:13:49

+0

嗨,是的,同一個用戶在Alex Reitbort給出了他的回答之前也將我的回答與問題一起降低了。可能只是一個惡意用戶:P – 2010-09-02 16:15:41

0

你最好不要使用parseFloat()

在你有小數的情況下,如0.5s爲過渡延遲,parseInt(x,10)返回零,其中parseFloat()返回0.5返回0.5

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

這個問題特別是關於像素('0.5像素'不如0.5像素')。 – 2015-02-26 17:45:53

4

選項1:

parseInt('200px', 10); 

的parseInt函數()的函數把字符串,並返回一個整數。除非你知道你在做什麼,否則不要改變上述函數中的10(稱爲「基數」)。

輸出將是:200

選項2(I個人傾向於此選項)

parseFloat('200px') 

輸出將是:200

的parseFloat( )函數解析一個字符串並返回一個浮點數。

parseFloat()函數確定指定字符串中的第一個字符是否是數字。如果是,它會解析字符串直到達到數字的末尾,然後將該數字作爲數字返回,而不是字符串。

選項2的優點是,如果您使用十進制數(例如200.32322px),您將得到小數點後面的值返回的數字。如果你需要返回特定的數字,這很有用