質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

4回答

10701閲覧

ストップウォッチタイマーのミリ秒を2桁表示にしたい

_ali

総合スコア14

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2018/08/22 01:19

vb.net環境でストップウォッチを作成しています。
機能は完成したのですが、表示がうまくいきません。

00:00:00:00

カウントを始めるとミリ秒のカウントが3桁になってしまいます。2桁でカウントしたいのです。
フォーマットの仕方だと思うのですが、教えて下さい。

vb.net

1''' <summary> 2 ''' インターバル毎に経過時間を表示 3 ''' </summary> 4 Private Sub timLap_Tick(sender As System.Object, e As System.EventArgs) Handles timLap.Tick 5 6 '経過時間の表示 7 lblStopwatch.Text = m_swStopWatch.Elapsed.Hours.ToString("00") & ":" & m_swStopWatch.Elapsed.Minutes.ToString("00") & ":" & _ 8 m_swStopWatch.Elapsed.Seconds.ToString("00") & ":" & m_swStopWatch.Elapsed.Milliseconds.ToString.("00") 9 10 End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

書式指定の00は二桁にすると言う意味じゃないです。
例えば
(123.456).ToString("0") は "123"です

そしてわざわざ時分秒ミリ秒で分けて結合しなくてもこれでいいです:

C#

1m_swStopWatch.Elapsed.ToString(@"hh\:mm\:ss\:ff")

投稿2018/08/22 01:33

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_ali

2018/08/22 04:30

ありがとうございます!この方法で解決致しました。
guest

0

書式として"00"を指定した場合、数字を2桁として文字列とするのではなく
2桁に満たない場合に0で埋めるという動きです。
2桁より多い桁がカットされるのではありません。

VB.NET

1Dim Value As Integer 2 3Value = 1 4Trace.WriteLine(Value.ToString("00")) 5'01となる 6Value = 123 7Trace.WriteLine(Value.ToString("00")) 8'123となる 9

TimeSpan型をそのまま変換したほうがよろしいかと思います。

VB.NET

1m_swStopWatch.Elapsed.ToString("hh\:mm\:ss.ff")

投稿2018/08/22 01:53

YAmaGNZ

総合スコア10251

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_ali

2018/08/22 04:32

そうだったのですね。詳しい例もありがとうございます。 無事、解決致しました。
guest

0

ミリ秒なので、本質的に3桁(0~999)だと思いますが。
百ミリ秒の位と十ミリ秒の位だけ表示したいのであれば、ミリ秒を10で割って、0~99にすればいいかと。

投稿2018/08/22 01:30

otn

総合スコア84533

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_ali

2018/08/22 04:34

回答ありがとうございます。 フォーマットの問題でしたので、上のお二方の解決法を利用させて頂きました!
guest

0

1000ミリ秒 = 1秒ですので、ミリ秒を2桁で、というのは無理です。
ミリ秒ではなく1/100秒の表示したいということであれば、ミリ秒を10で割ればいいでしょう。

投稿2018/08/22 01:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_ali

2018/08/22 04:34

回答ありがとうございます。 フォーマットの問題でしたので別の解決法を今回は利用しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問