2016-02-29 142 views
1

所以我有一个名为'str'的字符串(我使用的JQPlot如此裸露的变量名称)。正则表达式替换字符串逗号的一部分

str的格式是“日期,时间,PointValue”所以这样的一个例子是:

12/12/2015, 14:07, 7.894

我有在pointValue上JQPlot四舍五入问题,所以我在荧光笔使用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>"; 
     }; 

编辑:其原因,为什么我需要这是因为有问题,当我添加更多的数据系列的图表中,有些是从服务器抓起点值,变得圆润和唐不显示真正的价值。所以我试图格式化这个值,而不是让它从服务器中推断出它自己。也就是说,它会圆 '7.899' 到 '8'

回答

1

尝试使用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)

+0

我改变了 '资源' 变量 'STR' 并删除你定义的'str'变量。现在是的,它确实将它舍入到了两位小数,但是我仍然留有日期/时间问题:它实际上现在以科学记数法显示:'1.4566E + 12,8.14' - 8.14是点值。 我也删除了tooltipFormatstring - 关于日期/时间的任何想法仍然? – Nomm

+0

@Nomm查看更新后的文章,在'RegExp'处用'\ .'格式转义了'.'字符,该字符只能匹配输入字符串末尾的数字 – guest271314

+0

仍然会产生与我的第一条评论相同的问题。我会尝试再多一点,看看我是否可以解决这个问题。 – Nomm