簡體   English   中英

如何使RRDtool在圖形中使用逗號而不是點作為小數點分隔符

[英]How to make RRDtool use commas instead of dots as decimal separators in graphs

我正在通過Perl腳本(RRD)使用RRDtool來可視化溫度讀數。 因為我希望圖表中的所有內容都以瑞典語顯示(工作日等),所以我在Perl腳本中將語言環境設置為sv_SE.UTF-8 ,方法是:

use POSIX qw(locale_h);
setlocale(LC_ALL, "sv_SE.UTF-8");

RRDtool得到此信息,並以瑞典語打印工作日名稱。 然而,在該RRDtool的曲線下寫有GPRINT使用點而不是逗號作為小數點分隔符(XX。XX)的數值,我不知道為什么。 在瑞典語中,應使用逗號(XX xx)。 我這樣使用GPRINT:

GPRINT:temp_out:MIN: Min\\: %6.1lf

我也嘗試將LC_NUMERIC和LC_CTYPE設置為sv_SE.UTF-8 ,但是沒有結果。 我已經嘗試使用sv_SE.iso8859-1 ,但沒有成功。 我也閱讀了各種printf文檔,但尚未提出解決方案。

有沒有人設法使RRDtool使用逗號而不是點作為小數點分隔符? 謝謝!

編輯:

如果我在命令行使用rrdtool graph創建該圖並設置了LC_NUMERIC=sv_SE ,則將逗號作為小數點分隔符。 這使我相信我的Perl腳本不會在我的setlocalesetlocale 仍在調查中...

rrdtool實際上是在多個地方將LC_NUMERIC強制為'C' ,以防止在奇數處出現流浪逗號。

要在生成的圖表中看到逗號,必須在rrd_graph.c進一步增強此邏輯,以便在呈現GPRINT語句之前顯式重新啟用用戶的原始LC_NUMERIC設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM