我有一个类型的对象,Entity
根据监视设施,它是“对象{十进制}”类型。我正在使用下面的代码对其进行转换,但我对这种方法并不满意(首先是字符串化,然后是解析)。
double d = Double.Parse(entity["key"].ToString());
有没有更流畅、更推荐的方法来转换该值?
我有一个类型的对象,Entity
根据监视设施,它是“对象{十进制}”类型。我正在使用下面的代码对其进行转换,但我对这种方法并不满意(首先是字符串化,然后是解析)。
double d = Double.Parse(entity["key"].ToString());
有没有更流畅、更推荐的方法来转换该值?
您可以使用以下ToDouble
方法:
double d = Convert.ToDouble(entity["key"]);
另外,将其decimal
用作数据存储类型然后将其转换为有什么意义double
?
我建议您使用double
,而不是decimal
出于两个原因。首先,正如本讨论中所解释的那样,精度略有不同(意味着性能略有下降) 。
其次,与团队的其他成员核实。由于您的目标是double
从一开始,我猜测您应该插入解决方案其余部分的值类型(特别是因为您提到 Dynamics CRM)实际上是double
.
在任何情况下,以下几行之一就足够了(并且比显式类型转换要好得多)。
double dd = Convert.ToDouble(entity["key"]);
decimal dc = Convert.ToDecimal(entity["key"]);