用javascript总结textarea中的浮点数/小数

时间:2018-06-24 06:59:09

标签: javascript jquery html5

我有一个带浮点数/小数的文本区域。我想获取该值并将其汇总,但是显然,我在互联网上找到的代码忽略了“,”和“”。

如何使它与十进制/浮点数一起使用?

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>

1 个答案:

答案 0 :(得分:0)

您使用的\d+正则表达式仅适用于整数。这意味着“给我所有数字”。相反,您需要的是“也将浮点数字也给我”。

为此,正则表达式为:

/(\d+(\.\d+)?)/