我有以下代码,想要了解如何让DataColumn行[col]浮动?
queryString = "SELECT Price FROM sampledata";
SqlCommand cmd = new SqlCommand(queryString, connection);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("SampleTable");
sda.Fill(dt);
foreach (DataRow row in dt.Rows)
{
// this value should become float pPrice = 0;
string pPrice = "";
foreach (DataColumn col in dt.Columns)
{
if (col.ToString().Trim() == "Price")
{
// pPrice = float.Parse(row[col].ToString()) does not work
// table column from sampledata is float
pPrice = row[col].ToString();
}
}
}
答案 0 :(得分:0)
尝试代替
pPrice = row[col].ToString();
此
float value = (float)row[col];
您明确地将值设置为字符串,因此您无法为其指定浮点数。
另外,要保持列是一个浮点而不是双/小数,一个简单的方法就知道了
Type t = row[col].GetType();
string typeName = t.Name;
答案 1 :(得分:0)
Convert.ToSingle()
可用于浮动转换。
float pPrice = Convert.ToSingle(row[col]);
或
float pPrice = Single.Parse(row[col].ToString());
答案 2 :(得分:0)
如果你想从数据表获取/获取浮点列的列表,那么你必须遍历每个数据表列的循环并检查下面的代码。
if(dt.Columns [0] .GetType()== float) {
}