- - PR -
文字型を数値型へ変換する方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-04 19:15
テーブルで文字型(String)で定義されている項目を
VB.NETのプログラム内では数値型(Integer)として 計算などに使いたいのですけれど、どのように変換したら 良いのでしょうか? 教えてください。 | ||||
|
投稿日時: 2006-07-04 19:39
Convert.ToInt32()メソッドを使ってください。
| ||||
|
投稿日時: 2006-07-04 19:45
個人的には、System.Convert 系より、[値型].Parse メソッド系をお勧めします。
たとえば、Integer であれば、Integer.Parse メソッドなどをお試しください。 2.0 であれば、Integer.TryParse メソッドを使いましょう。 型と検証がひとつになっているので、非常にわかりやすいです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-07-04 19:50
そうだよね。System.Convert系はダメだね。遅いし。
| ||||
|
投稿日時: 2006-07-04 19:57
Integer.Parseメソッドの存在を忘れてましたorz
System.Convert系が遅いのは知りませんでした。 #今まで意識しないで使ってました... | ||||
|
投稿日時: 2006-07-04 20:24
System.Convert クラスにあるメソッドは、そんなに遅くないハズです。(確か) むしろ、VB 君お得意の CInt は、 Microsoft.VisualBasic.CompilerServices.Conversions::ToInteger() なのですが、こっちの方こそすごいです。 ベンチテストしてみると、System.Int32::Parse() に比べて明らかに遅いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-07-04 21:36
すまん。そこまで大差なかったね。
CIntとかと間違えていたかもしれぬ。 | ||||
|
投稿日時: 2006-07-04 22:26
試しに3種類の変換方法でString型をInt32型に10万回変換してみました。
[環境] OS : WinXP メモリ : 1ギガ CPU : Pen4 1.6GHz == 結果 == Integer.Parse : 0.0322552167943132秒 Convert.ToInt32 : 0.0336567915754656秒 CInt : 0.359069937659675秒 CIntが10倍以上遅いよ。さすがVB伝統のCIntだ ![]() じゃんぬねっとさんとぶさいくろうさんのお勧め通りInteger.Parseメソッドですね。 #Integer.TryParse メソッドは環境がないので試していません。 |