2016-02-29 144 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