Как мне извлечь числа из строки следующим образом:
$1.50
Все, кроме символа валюты.Или как-то так:
rofl1.50lmao
Просто спрашиваю, существует ли существующая функция, о которой я не знаю.
Для этого в AS3 нет встроенной функции. Простой RegExp, как этот, должен вам помочь:
/[0-9]+.?[0-9]*/
Это пример, и его следует изменить в зависимости от контекста.
Вот более точный RegEx от Gunslinger47 :
/-?\d*\.?\d+([eE]\d+)?/
Насколько я знаю, нет.Вы можете анализировать каждый символ по массиву допустимых символов или использовать регулярное выражение.
Это "простой" JavaScript, но FWIW:
justNumsAndDots = "rofl1.50lmao".replace(/[^\d.]/g,"") // -> "1.50" (string) asIntegral = parseInt("0" + justNumsAndDots, 10) // -> 1 (number) asNumber = parseFloat("0" + justNumsAndDots) // -> 1.5 (number) asTwoDecimalPlaces = (2 + asNumber).toFixed(2) // -> "3.50" (string)
Примечания:
parseFloat(".") -> NaN
parseFloat("0.") -> 0
Удачного кодирования.