用两位小数后的数字替换字符串重复

问题描述 投票:1回答:4

我正在使用数据表,点击分页按钮总和后附加..帮助感谢。提前谢谢每当我点击按钮时,都会附加相同的数字。已经存在了。我想要例如,如果它是23.2323.23,想要保留23.23并在此之后删除

$("#btn").click(function() {
  $("label").text($("label").text().replace(/[0-9]{2}\.[0-9][0-9]$/g, ''));
  $("label").append("55")
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>Total amount:23.2323.233</label>
<button id=btn>Click</button>
javascript jquery
4个回答
1
投票

我们先来看看你的尝试吧。您使用/[0-9]{2}\.[0-9][0-9]$/g搜索模式。它表示两个数字后跟点后跟两个数字($表示它应该以它结尾。例如,23.23)这肯定不是你要找的模式。

您正在寻找的模式是digits.digits.digits.digits ...

如果你用正则表达式(.digits)+来表达它,它会导致/[0-9]+(\.[0-9]+)+

所以最终的代码应该是:

$("label").text($("label").text().replace(/[0-9]+(\.[0-9]+)+/g, ''));

编辑:

$("label").text($("label").text().replace(/[0-9]+(\.[0-9]+)+/g, $("label").text().match(/([0-9]+)\.[0-9]{2}/)[0]));

1
投票

试试这个

parseFloat('23.2323.233').toFixed(2)

1
投票

我想你想在追加新值之前完全删除标签中显示的先前数值。

所以你想只保留Total amount:。然后在分页后附加从DataTable获得的值...

那么.split()方法怎么样? 它创建一个基于“分隔符”的数组。

在你的情况下,我会使用:字符并保留第一个数组项。 请注意,您必须重新添加: ...

$("#btn").click(function() {
  var value_from_DT = 55.72;
  $("label").text($("label").text().split(":")[0]+":");
  $("label").append(value_from_DT)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>Total amount:23.23</label>
<button id="btn">Click</button>

另一种方式,最好的方法是专门为数值设置一个专用的span

$("#btn").click(function() {
  var value_from_DT = 55.72;
  $("#DT_sum").text(value_from_DT);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>Total amount:<span id="DT_sum">23.23</span></label>
<button id="btn">Click</button>

0
投票

(我对你的问题不太清楚。)如果你想从标签中删除字符串,请执行此操作

$("label").empty().append("55")
© www.soinside.com 2019 - 2024. All rights reserved.