2

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 スクリプトが私のsetlocale. まだまだ調査中…

4

1 に答える 1

1

rrdtool は、実際にLC_NUMERICは複数の場所で'C'コンマが奇妙な場所に現れるのを防ぐために強制しています...

生成されたチャートでコンマを表示するには、このロジックをさらに拡張して、ステートメントをレンダリングする前にrrd_graph.cユーザーの元の設定を明示的に再度有効にする必要があります。LC_NUMERICGPRINT

于 2011-11-22T11:07:23.987 に答える