javascript:在开始和结束时使用字符串前缀解析float

时间:2013-08-08 06:44:01

标签: javascript regex

如何将此字符串转换为float? 我想要结果900.50

案例-1:var convertThis = 'any string here 900,50 also any string here';

案例-2:var convertThis = 'any string here 900.50 also any string here';

怎么做?

3 个答案:

答案 0 :(得分:1)

你可以这样做:

var num = parseFloat(convertThis.replace(/[^\d\.,]/g,'').replace(/,/,'.'));

但请注意,只要文字中有多个数字或点,这就会破坏。如果你想要可靠的东西,你需要更准确地知道字符串是什么。

假设您想要从更复杂的字符串中提取所有数字,您可以

var numbers = convertThis.split(/\s/).map(function(s){
    return parseFloat(s.replace(',','.'))
 }).filter(function(v) { return v });

在这里,你得到[900.5]

答案 1 :(得分:1)

请尝试以下代码:

var text = 'any string here 900,50 also any string here';
var matched = text.match(/\d+[,.]\d+/)[0].replace(',', '.');
var num = parseFloat(matched, 10);
console.log(matched);
console.log(num);

打印:

900.50
900.5

答案 2 :(得分:0)

var myFloat = +(convertThis.match(/\d+[,\.]?\d+/)[0].replace(",","."))