2009-05-25 9 views
0

私は秒単位で2倍の値を持ち、数値書式文字列を使用してmm:ssまたはhh:mm:ssとして表示したいと考えています。 これは可能ですか? HaventはMSDNでそれについて何かを見つけましたか?数値書式文字列:double to time

私たちはデータを表示するTelerikチャートを使用しています。その理由は、uderlyingフォーマットを変更できないため、フォーマット文字列をチャートAPIにフックする必要があるからです。

おかげで、事前 ヨハン

答えて

0

使用:もちろん

var ts = new TimeSpan(0, 0, 0, (int)doubleValueOfSeconds, 0); 

あなたは私の例のように、より正確なdouble値の丸めではなく、切り捨てを検討する必要があります。

文字列の値を取得するにはTimeSpan on MSDNを見てください。最も単純な現在のカルチャー固有のものはTimeSpan.ToString()です。更新質問へ

UPDATE:あなたが直接日時に秒数をフォーマットすることはできません

。書式設定は本質的に文字列操作であり、その書式設定が行われる前に数学を行う必要があります。

上記の例を使用して、TimeSpan.ToString(formatString);を呼び出して、コントロールに渡す文字列値を取得します。

これはあなたが単に何かを逃していないと仮定しています。私は個人的にTelerikのコントロールは複雑だと思っていますが、彼らはフォーマットが組み込まれていると確信しています。基本的には、上記の例を使用してコードを記述してタイムパンでデータを作成し、inbuilt形式の文字列を使用して、指定されたデータ系列のタイムパンをフォーマットする方法をコントロールに伝えます。

+0

実際には(私が知る限り)どのコードでもフックできません。チャートコントロールは、チャートの値をフォーマットする数値フォーマット文字列を取ります。 値を計算するためにクラスを使用することはできません。問題はありません。問題はどうすれば数値書式文字列で行うことができますか? まだお返事ありがとうございます – jmw

+0

私は更新しました私の答え、それが今役立つことを願っています。あなたは本当にデータをタイムスパンオブジェクトとして作成する必要があります。*データをグラフに与える前に*です。数値を時間/分の値にフォーマットする方法はありません。あなたは私の例を使って時間/分の値を構築し、そのオブジェクトをそれに応じてフォーマットする必要があります。 –

関連する問題