如何转换具有整数值和字符串值的列,即不同的货币50 USD, 70 YEN, 34 CAD



大家好,我有一个表,检查日期之间的差异,并作为标签显示日期之间的差异。之后,我想转换一个有整数和字符串的货币列,例如50美元,70日元,34加元。我有兴趣拉出具有货币值的列并与no相乘。捕获日期差异的标签所显示的天数,然后绑定到显示最终结果的另一个标签。请告诉我该怎么做。下面是我的示例代码,它获取日期差异并在计算后显示。当我尝试乘法时,两个标签上都没有显示

try
{
SqlConnection con = new SqlConnection(strcon);
if (con.State == ConnectionState.Closed)
{
con.Open();
}

SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "getBookIssuing";
cmd.Parameters.Add("@MemberId", SqlDbType.NVarChar).Value = txtMembeReturnId.Text.Trim();
cmd.Parameters.Add("@BookId", SqlDbType.NVarChar).Value = txtReturnBookId.Text.Trim();
cmd.Connection = con;              
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count >= 1) ;
{
//Calculate No. of Late Days
DateTime d1 = Convert.ToDateTime(DateTime.Now.ToString("yyyy/M/dd"));
DateTime d2 = Convert.ToDateTime(dt.Rows[0]["DueDate"].ToString());
string str= dt.Rows[0]["PenaltyRate"].ToString();
float x = Convert.ToSingle(str);
if (d1 > d2)
{
TimeSpan t = d1 - d2;
double latedaysno = t.TotalDays;
Labellatedays.Text = latedaysno.ToString();
double penalty = latedaysno * x;
Labelpenalty.Text = penalty.ToString();
}
else
{
Labellatedays.Text = "0";
Labelpenalty.Text = "0";
}
}

我认为当您检索惩罚率列时,问题会出现如果您确定所有的值都以[number][currency]的形式出现你的代码应该像这样

string str= dt.Rows[0]["PenaltyRate"].ToString().Split(' ')[0];
float x = Convert.ToSingle(str);

最新更新