1

私はapacheのBigFractionクラスを使用しています。このクラスは、基本的に分子と分母にBigIntegerを使用します。次に、これらの値をデータベースに保存する必要があります。また、データの性質上、これらの値が可能な限り正確であることを確認する必要があります。

SQL Serverに、分子と分母の列を設定しました。これらの列は、numeric(35、0)タイプに設定されています。

今の問題は、計算がこの値を超えてしまい、データの切り捨てを除いてしまうことです。

SQL Serverで使用し、適切な精度を確保するためのタイプに関する提案はありますか?

4

1 に答える 1

0

問題は、数値がデータ型の Sql Server MSDNで最大の数値型であり、小数点以下の桁数を事前に定義する必要があることがわかっていることです。

したがって、BigNumbers を文字列として格納する必要があります - varchar(4000) をすべての有効数字を保持するには、3999 を超える数が必要な場合は、いくつかの列に分割する必要があることに注意してください。列にバイナリとして直接格納することもできvarbinaryますが、データベースに保存されているものを簡単に確認することはできません。数値の分子と分母の有効数字が常に 35 未満の場合、2 つの数値フィールドに保存できます。

于 2013-01-17T12:00:30.760 に答える