如何将此字符串转换为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';
怎么做?
答案 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(",","."))