javascript - 正则表达式替换字符串逗号的一部分

标签 javascript regex jqplot

所以我有一个名为“str”的字符串(我使用的 JQPlot 只包含变量名称)。

str 的格式是“日期、时间、PointValue”,因此示例如下:

2015 年 12 月 12 日,14:07,7.894

我在 JQPlot 上的 pointValue 上遇到舍入问题,因此我在荧光笔中使用 tooltipFormatString: "%.2f" 将所有值四舍五入到两位小数。然而,这会影响整个“str”变量并弄乱字符串的日期和时间部分。例如:124123231774.00, 7.89 - 这显然对 PointValue 有利,但对日期/时间不利。

所以我试图编写一个正则表达式,它只会格式化最后一个逗号之后的数据。因此它会忽略日期和时间,但随后会使用“%.2f”格式化 PointValue,使其四舍五入到小数点后两位。

我查看了以下内容: regex to remove multiple comma and spaces from string in javascript Replace the last comma in a string using Regular Expression

我仍然陷入困境,所以任何帮助和解释将不胜感激。我现在有类似这样的东西,显然不起作用。

            function tooltipContentEditor(str, seriesIndex, pointIndex, plot) {
            str = str.replace(Expression Here);

            return "<span style='color:black;'><font style ='font-weight:900;'>" + plot.legend.labels[seriesIndex] + "</font><br>" + str + "</span>";
        };

编辑:我需要这个的原因是因为当我向图表添加更多数据系列时会出现问题,从服务器获取的一些点值会四舍五入并且不显示真正的值(value)。因此,我尝试格式化该值,而不是让它从服务器推断自身。即它将“7.899”四舍五入为“8”

最佳答案

尝试将 String.prototype.replace()RegExp 结合使用 /\d\.\d+$/Number , .toFixed()

var str = "12/12/2015, 14:07, 7.894";
var res = str.replace(/\d\.\d+$/, function(match) {
  return Number(match).toFixed(2)
});
console.log(res)

关于javascript - 正则表达式替换字符串逗号的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35690702/

相关文章:

javascript - 在可编辑的 div 中使用表情符号

regex - Perl 如何匹配 verilog 文件的注释 "//"?

javascript - jqplot 通过一个图例隐藏同一系列的多个图表可能吗?

javascript - 如何在jquery函数中使用多个处理程序

JavaScript - 如何将不同文件中的函数添加到类中?

javascript - 自定义电子邮件正则表达式以允许插入连字符

jquery - JQPlot stacked bar 每个堆叠标签计数而不是累加(增量)计数

javascript - 水平条形图忽略刻度间隔、最小和最大选项

c# - 如何通过 Javascript 或 Jquery 调用代码隐藏中的方法

arrays - 将字符串拆分为数组(以 "\"分隔)