0

我有一个类型的对象,Entity根据监视设施,它是“对象{十进制}”类型。我正在使用下面的代码对其进行转换,但我对这种方法并不满意(首先是字符串化,然后是解析)。

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

我建议您使用double,而不是decimal出于两个原因。首先,正如本讨论中所解释的那样,精度略有不同(意味着性能略有下降) 。

其次,与团队的其他成员核实。由于您的目标是double从一开始,我猜测您应该插入解决方案其余部分的值类型(特别是因为您提到 Dynamics CRM)实际上double.

在任何情况下,以下几行之一就足够了(并且比显式类型转换要好得多)。

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