2011-02-04 21 views
1

私には特有の問題があります。私は多くのテーブルを持つデータベースを持っており、私はファイルと各テーブルのいくつかの比較をしようとしています。私のdbにはdouble/floatカラムが含まれており、ファイル内の同じカラムの小数点以下の桁数を超えることがあります。利便性のため、この小数点以下の桁数を小数点以下4桁にしてください。条件付きで浮動小数点を丸めます

今、that.how以上に同じ結果を得ることができれば、私のdbによって返されるすべてのfloat/doubleカラムを4桁の小数点以下の文字列に変換したいと思います。 therテーブルのそれぞれが2000行を超えるかもしれないことに注意してください。私はこの比較を重くしたくありません。どのように私は同じを達成することができますか?いくつかの回答やコメントに基づいて予め

ありがとう:

A)RDBMS:MS SQL Serverの

b)は、私はそれが一定を超えた場合のみに小数点以下の桁が短くカットされたいですいいえ。つまり、noが12.123ならstat 12.123とnt 12.1230

私は#を使ってこれを行うことができることを実感していますが、noは丸められません。noは12.12347でなければなりません12.12347 12.1235小数点以下の桁数にフロート制限のためにこのような

+1

あなたはどのRDBMSを使用していますか? –

+0

MS SQLサーバー。それはどのように役立ちますか? – Baz1nga

答えて

1

何か:

string stFloat = String.Format("{0:0.0000}", FLOAT_VALUE); 

はDBから受信したデータにこれを適用します。

+2

これは正しいです。また、文字列形式にはいくつかのオプションがあります。完全なリストは[ここにある](http://msdn.microsoft.com/en-us/library/0c899ak8.aspx)ですが、要約は以下のとおりです。ゼロ( "0")は、ゼロが対応する数字があればそれを置き換え、そうでない場合は返された文字列に0を残します。桁のプレースホルダ( "#")は、符号が対応する桁に置き換えられます。そうでない場合、返された文字列に桁は表示されません。 –

+0

しかし、私は、後ろの0sをしたくない場合は?? – Baz1nga

+0

また、私はそれが12.12347それは12.1235 – Baz1nga

関連する問題