時間を秒単位でHH:MM:SS.mm
フォーマットに変換する必要があります。秒入力は組み込みデバイスから読み取られており、double
の形式ですseconds.millseconds
。次の変換コードを試しましたが、失敗します。
set cpu_time [function_that_fetches_the_time]
puts "[clock format $cpu_time -format {%H:%M:%S}]"
これはエラーで失敗します
expected integer but got "98.92"
からスロー
"ParseFormatArgs {*}$args"
(procedure "::tcl::clock::format" line 6)
doubleを整数に変換すると、上記は機能しますが、出力表示にミリ秒の部分も含まれていると便利です。
また、ミリ秒のクロック形式指定子は何ですか?
編集:
に変換するだけdouble
でもint
機能しないようです。私は試した
puts "[clock format [expr int($cpu_time)] -format {%H:%M:%S}]"
そしてそれは奇妙な時間をもたらします。たとえば、組み込みデバイスが戻ったとき3.53
(そして私がそれをにキャストした3
とき)、出力される時間は17:00:03
です。