首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >输入字符串的格式不正确。无法在列中存储<>。预期的Int64

输入字符串的格式不正确。无法在列中存储<>。预期的Int64
EN

Stack Overflow用户
提问于 2015-12-16 01:02:10
回答 1查看 15K关注 0票数 2

在这里,我试图获得逗号分隔值。在下面的代码中,"tbl“是包含逗号分隔值的表。

代码语言:javascript
复制
 private static DataTable PivotFieldData(DataTable tbl)
    {
        var tblPivot = new DataTable();
        if (tbl.Columns.Count > 0)
        {
            tblPivot.Columns.Add(tbl.Columns[0].ColumnName, typeof(int));
            for (int i = 0; i < tbl.Rows.Count; i++)
            {
                tblPivot.Columns.Add(Convert.ToString(tbl.Rows[i][1]), typeof(long));
            }
            var r = tblPivot.NewRow();
            r[0] = tbl.Rows[0][0].ToString();
            for (int col = 0; col < tbl.Rows.Count; col++)
            {
                r[col + 1] = tbl.Rows[col][2].ToString();
            }
            tblPivot.Rows.Add(r);
        }
        return tblPivot;
    }

但是我得到一个错误,如下所示。

我试过像这样

代码语言:javascript
复制
r[col + 1] = tbl.Rows[col][2].ToString().Trim() == "" ? 0 : Convert.ToInt64(tbl.Rows[col][2].ToString());

但是我收到一个错误,输入字符串的格式不正确...请检查一下并帮助我...谢谢。。

EN

回答 1

Stack Overflow用户

发布于 2015-12-16 01:59:08

错误消息非常清楚。您有一个字符串值(即-2312,77,845.00),并试图将其存储到一个typeof(long)列中。如果该字符串值表示一个数字,则去掉逗号并删除循环中的ToString调用。如果它表示一个字符串(它看起来是这样的,因为列在错误的位置,所以它不是一个数字),那么更改列类型。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34295148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档