2011-12-06 11 views
0

小数(25)のデータ型を持つデータベーステーブルがあります。この列のデータは、VB.NETの変数にロードされます。 .NETの変数には計算が行われていません。 .NETでdecimalデータ型またはStringデータ型を使用しますか?小数と文字列

同じデータベースフィールドがVB6アプリケーションで使用されます。 VB6のフィールドで計算は行われません。 VB6で使用するのに最適なデータ型は何ですか?

次のように変数がいずれかのプログラムで使用される唯一の時間は次のとおりです。一般的に

If variable <> 0 Then 
    'Do some logic 
End If 

答えて

3

、強く型付けされて良いですが、あなたの質問から、問題ではしていないようです。個人的には、将来的に計算が必要な場合はどうすればいいのでしょうか?次の開発者がコードに何をしているかはわからないので、できる限り頑強にしようとします。単に

など、それは小数だ場合、それは文字列データだ場合、それはフラグだ場合は、ブール値を使用し、文字列データ型を使用し、小数点データ型を使用し、置く

+2

私は同意しているだけでなく、不同意です。個人的には、データを選択する場合は小数点を使用しますが、なぜデータベースからbool権限を選択するだけではないのですか?また、あなたのコードを頑強にするように努力すべきではありません...しかし、それが可能な限り薄く...金めっきなどを避けてください... ...働くことができる最も単純なことをしてください...私は同意するので、私はこれをupvote ... –

+0

これは、データベース内のIDフィールドなので、計算を行う必要はありません。オーバーヘッドが少ないので、Stringが優れていると思います。多くの反復があります。どう思いますか? – w0051977

+1

jsoboはそれを釘付けにした。条件付きチェックのみを行うために使用する場合は、ブール値を設定しないでください。 –

2

はまた、小数点を使用していることに注意してくださいIDとしての価値は、コンピュータが常に正確に表現できないという悪い考えです(Googleは浮動小数点の不正確さに対して)。

0

.NETでDecimalデータ型を使用してください。

VB6には10進データ型がありますが、直接使用することはできません。しかし、あなたはこのようにそれを行うことができますです

Dim MyDecimal As Variant 
MyDecimal = CDec(rs(rowIndex).Value) 

は、CDec機能を使用すると、Variant変数に格納できる内部decimal型に変換します。残念ながら、あなたは強いタイピングを失いますが、浮動小数点表現よりも優れていると思います。

関連する問題