2013-05-17 19 views
12

私はtimespan変数を 'parse'を使って整数変数に変換しようとしています。timespan変数を整数型に変更する方法は?

フォーマット例外が未処理だった:私はというエラーを取得

private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.ToString()); 
     y = x; 
    } 

私のターゲットは表示することです:入力文字列がこのコードが持っているである

正しい形式ではありませんでしたこれは、テキストボックス内で動的に2つの時間ピッカーの時間の変化、すなわちそれらの間の時間差を自動的にテキストボックスに表示する必要があります。

+0

これはひどい質問です。質問自体ではなく、単にToStringの値を解析しようとしています。既存のプロパティとメソッドを探し求める習慣を身に付ける必要があります。多くの場合、機能は通常既に存在していますが、どこか – musefan

+0

ありがとうございます。 –

答えて

22

これらの間の差は、自動的に テキストボックスに表示されます。

構文解析の代わりに、TimeSpan.TotalMinutesプロパティを使用します。

t.TotalMinutes; 

あなただけの、あなたが行うことができます整数部分にする必要がある場合はプロパティは、double型である:

int x = (int) t.totalMinutes; 
+0

違いがInt32より大きい場合はどうですか?例:diff。時間の開始と今の間? –

+0

@SrivathsaHarishVenkataramana、 'long'を使用してください。ポイントは数字の整数部分を取ることでした... – Habib

4
private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.Minutes.ToString()); 
     y = x; 
    } 

あなたはint x = int.Parse(t.Minutes.ToString());にそれを変更しようとしたことがありますか?

投稿者:http://msdn.microsoft.com/en-us/library/system.timespan.aspx