2011-07-05 4 views
0

問題は、SqlDecimalデータ型がCLRに固有のDecimalデータ型よりも多くのビットをパックすることです。だから、どのようにして2つの間を最も実用的な方法でマッピングしますか。これはうまくいくわけではありません。SqlDecimalを10進数に変換します

SqlDecimal x = ... 
decimal z = x.value; // can overflow 

多くの数字を1つだけ通過させると、末尾の0を取り除くことができます。しかし、変換がもたらす精度の低下を受け入れると、この不可逆変換を行う関数が存在することが予想されます。

はありますか?またはここでベストプラクティスは何ですか?

変換を行うために私は既に作物と後続のゼロを削除する機能を作っていますが、標準の.NET BCL関数があればそれを使用します。

+0

スペースは小数と何が関係していますか?そのようなコンセプトはありません... –

+0

SQL Decimal型のスケールを保持する必要がある場合は、それを 'SqlDecimal'として扱いましょう。なぜあなたはそれを 'decimal'に変換する必要がありますか? –

+0

@ダニエル - スペースではなく0の後ろにつきます。 –

答えて

関連する問題