将列的数据类型从字符串转换为双精度

Posted

技术标签:

【中文标题】将列的数据类型从字符串转换为双精度【英文标题】:Converting datatype of column from string to double 【发布时间】:2014-12-31 03:57:41 【问题描述】:

我正在使用GenericParsing lib 将 csv 文件读取到 DataTable。它将所有数据作为字符串读取,我看不出有任何方法可以告诉GenericParserAdapter 将读取的数据视为双精度数据(保留前两列是日期和时间,其余列仅包含数值)。

那么留下这部分代码,有没有一种简单的方法可以将现有字符串列的数据类型转换为双精度?

【问题讨论】:

请使用另一个数据表(使用相同的列但不同的数据类型重新创建)并在 foreach 循环中将行复制到新的数据表。 【参考方案1】:

该死,我之前没能找到这个答案。找到了here

DataTable dtc = dt.Clone();
for ( int i = 2; i < dtc.Columns.Count; ++i )
    dtc.Columns[ i ].DataType = typeof( double );
foreach ( DataRow row in dt.Rows )
    dtc.ImportRow( row );

【讨论】:

以上是关于将列的数据类型从字符串转换为双精度的主要内容,如果未能解决你的问题,请参考以下文章

将字符串从.csv文件转换为双精度数

将字符串从组合框转换为双精度

使用逗号时将字符串转换为双精度

如何使用 stringstream 在 C++ 中将字符串转换为双精度值 [关闭]

使用 '%' 将字符串转换为双精度

将字符串转换为双精度 [重复]