0

タイプのオブジェクトがあり、Entityウォッチ機能によると、タイプは「オブジェクト{10進数}」です。以下のコードを使用して変換していますが、このアプローチにはあまり満足していません (最初の文字列化、次に解析)。

double d = Double.Parse(entity["key"].ToString());

その値を変換するためのよりスムーズで推奨される方法はありますか?

4

2 に答える 2

2

ToDouble次の方法を使用できます。

double d = Convert.ToDouble(entity["key"]);

decimalまた、データ ストレージ タイプとして使用し、それを にキャストするポイントは何doubleですか?

于 2012-10-19T16:56:37.117 に答える
0

2 つの理由からdoubleではなく、を使用することをお勧めします。decimalまず、このディスカッションで説明されているように、精度にわずかな違いがあります (つまり、パフォーマンスにわずかなコストがかかります) 。

次に、チームの他のメンバーに確認します。あなたが最初に目指していたのでdouble、ソリューションの残りの部分にプラグインすることになっている値の型実際にはdouble.

いずれにせよ、次の行のいずれかで十分です (明示的に型キャストするよりもはるかに優れています)。

double dd  = Convert.ToDouble(entity["key"]);
decimal dc = Convert.ToDecimal(entity["key"]);
于 2012-10-19T17:21:01.060 に答える