タイプのオブジェクトがあり、Entityウォッチ機能によると、タイプは「オブジェクト{10進数}」です。以下のコードを使用して変換していますが、このアプローチにはあまり満足していません (最初の文字列化、次に解析)。
double d = Double.Parse(entity["key"].ToString());
その値を変換するためのよりスムーズで推奨される方法はありますか?
タイプのオブジェクトがあり、Entityウォッチ機能によると、タイプは「オブジェクト{10進数}」です。以下のコードを使用して変換していますが、このアプローチにはあまり満足していません (最初の文字列化、次に解析)。
double d = Double.Parse(entity["key"].ToString());
その値を変換するためのよりスムーズで推奨される方法はありますか?
ToDouble次の方法を使用できます。
double d = Convert.ToDouble(entity["key"]);
decimalまた、データ ストレージ タイプとして使用し、それを にキャストするポイントは何doubleですか?
2 つの理由からdoubleではなく、を使用することをお勧めします。decimalまず、このディスカッションで説明されているように、精度にわずかな違いがあります (つまり、パフォーマンスにわずかなコストがかかります) 。
次に、チームの他のメンバーに確認します。あなたが最初に目指していたのでdouble、ソリューションの残りの部分にプラグインすることになっている値の型は実際にはdouble.
いずれにせよ、次の行のいずれかで十分です (明示的に型キャストするよりもはるかに優れています)。
double dd = Convert.ToDouble(entity["key"]);
decimal dc = Convert.ToDecimal(entity["key"]);