如何将此字符串转换为浮点数?我想要结果 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';
这个怎么做?
如何将此字符串转换为浮点数?我想要结果 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';
这个怎么做?
你可以这样做:
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]
试试下面的代码:
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
var myFloat = +(convertThis.match(/\d+[,\.]?\d+/)[0].replace(",","."))