- - PR -
String.Formatで":"の表示
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-03 18:23
こんにちは、
VB2005のString.Formatで "1212" -> "12:12" "2311" -> "23:11" "123" -> "01:23" 上の変換したいのですがうまく行きません。 ---------------------------------------- dim a as String = "1212" dim s as String = String.Format("{0:00:00}",a) sの結果:"1212" ----------------------------------------- dim a as String = "1212" dim s as String = String.Format("{0:00::00}",a) sの結果:"1212" ----------------------------------------- VB6.0の Format(a,"&&:&&") と同じ機能です。 どなたかアドバイスよろしくお願いいたします。 [ メッセージ編集済み 編集者: gen 編集日時 2006-08-03 18:35 ] | ||||||||||||
|
投稿日時: 2006-08-03 18:34
これが出来るのは a が DateTime な時です。 SubString で切るか、DateTime.ParseExact なんかで日付に変換してあげてください | ||||||||||||
|
投稿日時: 2006-08-03 18:41
根本的な原因はソレではなくて、
これではないでしょうか。
であれば、できるでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-08-03 18:50
かるあさん、アドバイスありがとうございました。
-------------------------------------------- Dim a As String = "1212" Dim s As String = String.Format("{0:00:00}", DateTime.ParseExact(a,"HH:mm",Nothing) -------------------------------------------- で"文字列は有効な DateTime ではありませんでした。"のエラーになりました。 aが"200612121300"などのDateTime形式ではないとDateTime.ParseExactはだめですかね? じゃんぬねっとさん、ありがとうございました。 これでできました。 -------------------------------------------- Dim a As String = "1212" Dim s As String = String.Format("{0:00:00}", CInt(a)) -------------------------------------------- | ||||||||||||
|
投稿日時: 2006-08-03 19:25
書式が一致していませんよね? "1212" と "HH:mm"、コロンは不要です。 サンプル コードしか拝見していませんので、何とも言えませんが、 素直に、コンストラクタのオーバーロードのひとつを使った方が良いかもしれません。 New System.DateTime(Integer, Integer, Integer)
本題と直接は関係ないところですが、 .NET Framework 2.0 からは、どうしても TryParse メソッドを薦めたくなってしまいます。 文字型を数値型へ変換する方法 CInt についても参考になれば幸いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-08-03 20:55
わっフォローありがとうございます。
そのとおりですね・・・ |
1