我有一个带浮点数/小数的文本区域。我想获取该值并将其汇总,但是显然,我在互联网上找到的代码忽略了“,”和“”。
如何使它与十进制/浮点数一起使用?
var text1 = $('#lp').html();
var a = text1.match(/\d+/g);
var text2 = $('#tl').html();
var b = text2.match(/\d+/g);
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum += parseFloat(a[i]);
}
var sum2 = 0;
for (var i = 0; i < b.length; i++) {
sum2 += parseFloat(b[i]);
}
console.log(sum + sum2); //this shows 76
var sum1 = 0;
var numbers1 = $("#lp").text().match(/\d+/g);
if (numbers1) {
$.each(numbers1, function() {
sum1 += parseFloat(this);
});
}
console.log(sum1)
var sum2 = 0;
var numbers2 = $("#tl").text().match(/\d+/g);
if (numbers2) {
$.each(numbers2, function() {
sum2 += parseFloat(this);
});
}
console.log(sum2) //this code fail to show the 2nd alert box
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="lp" name="luas_program" rows="6" cols="20">
4
2 this shows 16
2
8
</textarea>
<textarea id="tl" name="total_luas" rows="6" cols="20">
4.463
1.35
0.9 this shows 515
0.3
</textarea> <br>
答案 0 :(得分:0)
您使用的\d+
正则表达式仅适用于整数。这意味着“给我所有数字”。相反,您需要的是“也将浮点数字也给我”。
为此,正则表达式为:
/(\d+(\.\d+)?)/