2016-09-25 61 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”。或者,如果您想摆脱所有字母,请使用可接受的解决方案。 –

相关问题