我有像
这样的字符串11.7 km
我需要得到只有int(11.7),我怎么能用JavaScript做到这一点?
感谢。
答案 0 :(得分:3)
尝试使用parseInt()。 例如:
var string = "11.7 km";
alert(parseInt(string));
这会警告:“11”。
在你的情况下,你有一个浮动,所以你可以使用:
alert(parseFloat(string));
这会发出“11.7”警告。
答案 1 :(得分:2)
您可以通过传递replace
表达式作为参数来使用regex
方法。
console.log('11.7 km'.replace(/[^0-9.]/g, ''));
答案 2 :(得分:1)
试试这个。
var numbers = distance.replace(/[^0-9.]/g,'');
alert(numbers);
答案 3 :(得分:0)
您可以使用parseFloat('11.7km')
这将返回11.7
答案 4 :(得分:0)
你也可以使用它。
console.log(Number(("11.7 km").replace(/[^\d.-]/g, '')));

答案 5 :(得分:0)
您可以使用的解决方案是Regular Expression,使用匹配功能:
your_text = "11.7 km";
r = new RegExp("\\d|\\.","g");
matched_number = your_text.match(r);
number = matched_number.join("");
number_float = parseFloat(number)
答案 6 :(得分:0)
此正则表达式将匹配字符串中的所有数值,而不管值之前或之后的文本。
var str = "11.7 km\n" +
"Text before 11.7 km\n" +
"11.7 km Text after\n" +
"Text before 11.7 km Text after\n";
var matches = str.match(/(\.\d*)*\d+(\.\d*)*/igm).map(parseFloat);
console.log('string "' + str + '" has ' + matches.length + " matches:");
console.log(matches);