tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルレースのタイムの計算
記事No11540
投稿日: 2015/12/10(Thu) 12:54
投稿者ちんちろりん
レースなどでよく使われるタイムの足し算をVB.NET?(VB2010)でしたいと思います。
例)1:22,333+2:11,111=3:333,444

□←TextBox1
□←TextBox2
□←TextBox3
▲←ボタン
□←TextBox4
TextBox1〜3には0:00,000と決まったフォーマットのタイムがユーザによって入力される。(分:秒,ミリ秒)
TextBox4には、計算結果が表示させる。
ボタンを押すと、TextBox1〜3までに入力された分、秒、ミリ秒のそれぞれの足し算を行う。
つまり、
□←1:22,333
□←2:22,111
□←1:11,001
▲ボタンを押す。
□←4:55,445 となるようにしたい。
これをVB.NETで以下のように書いたのですが、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim dt1 As DateTime = TextBox1.Text
Dim dt2 As DateTime = TextBox2.Text
Dim dt3 As DateTime = TextBox3.Text
time4.Text = dt1 + dt2 + dt3
End Sub
と、書いたのですが、文字列が横にくっつくだけでうまく加算(計算)ができません。

どのように記述すべきなのでしょうか?

[ツリー表示へ]
タイトルRe: レースのタイムの計算
記事No11541
投稿日: 2015/12/10(Thu) 14:21
投稿者魔界の仮面弁士
> レースなどでよく使われるタイムの足し算をVB.NET?(VB2010)でしたいと思います。

「時刻」計算と「時間」計算、どちらが目的ですか?

時刻を表すのは Date 型や DateTimeOffset 型、
時間を表すのは TimeSpan 型です。


> Dim dt1 As DateTime = TextBox1.Text
イコールの左辺と右辺でデータ型が異なっていますね。
Text プロパティが返すのは String 型です。

型変換は明示的に行うようにしましょう。まずはそこから。

[ツリー表示へ]