タイプのオブジェクトがあり、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"]);