gpt4 book ai didi

c# - 将 DataRow 值转换为 float

转载 作者:行者123 更新时间:2023-11-30 21:56:45 24 4
gpt4 key购买 nike

我正在使用 DataRow,我想将行中的每个值除以一个数字(取自同一行的单元格)。我一直在寻找将值转换为 float 的方法,例如 this线程,但转换给我“指定的转换无效”错误。

List<DataTable> tblsol = new List<DataTable>();
DataTable now = tblsol.Last();

while (true)
{
DataRow fb = now.Rows[v];
DataRow fb2 = now.Rows[w];
float akun = (float)fb[fb.Table.Columns.Count - 1] /
(float)fb[u];
if (akun > (float)fb2[fb2.Table.Columns.Count - 1] /
(float)fb2[u])
{
if (w == now.Rows.Count - 1) { v = w; break; }
else { v++; w++; }
}
else
{
if (w == now.Rows.Count - 1) { break; }
else { w++; }

}
}

DataRow bk = now.Rows[v];

float angkun = Convert.ToSingle(bk[u]);
for (int dc = 1; dc < now.Columns.Count;dc++)
{
bk[dc] = Convert.ToSingle(bk[dc]) / angkun;
}

我使用了 2 种方法将值转换为 float (使用 Convert.toSingle 和转换),但这两种方法都给了我错误。还有什么我可以做的吗?还是我的代码有问题?
附: tblSol 不为空,所有变量都已声明。

最佳答案

如我的评论所述,首先尝试将相关列转换为 Decimal。从 DataRow 实例的列访问数据时,它是明确支持的数据类型之一; MSDN DataColumn Reference page 中列出了有效类型

关于c# - 将 DataRow 值转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com