2016-09-25 32 views

回答

3

使用正則表達式來剝離非數字(不包括」。 「),更靈活的解決方案:

parseFloat("STA01.02".replace(/[^0-9\.]+/g, '')); 
+0

或者只是'/ [^ \ d。]/g' - 你不需要在'[]'內跳過''',並且你不需要'+'。 (雖然也許'+'效率更高,因爲它只會做一次更換?不確定。) – nnnnnn

0

如果前綴始終是相同的......

var str = "STA01.02"; 
var number = parseFloat(str.substring(3)); 
+0

」對於這個例子,子串(2)給出了「A01.02」。 「01.02」需要子字符串3,「1.02」需要子字符串(4)。 substring(2)不會正確解析。 –

+0

你的權利:)謝謝,帖子編輯 – Tommy

0
// Assumed "STA0" is the fixed-length prefix, you can adjust the substring at the start you're getting rid of. 

var myString = "STA01.02"; 
var noPrefix = myString.substring(4); // Just "1.02" 
var myNumber = parseFloat(noPrefix); 
console.log(myNumber); // Prints 1.02 
+0

嗨!字母前綴是固定的,但數字部分發生變化(例如,STA01.02,STA11.03,STA23.11),所以我需要「01.02」部分...如果在「 1.02「? –

+0

噢,如果你只想擺脫「STA」而不是「STAn」,其中n是一個數字,那麼它是var noPrefix = myString.substring(3); //只是「01.02」。或者,如果您想擺脫所有字母,請使用可接受的解決方案。 –

相關問題