我有两个值来自数据库我需要将这些值转换为double我已经这样做了 我刚刚提到像这样的局部变量
string val;
string dpayment;
我正在通过以下查询从数据库中获取值
if (dt != null)
{
if (dt.Rows.Count > 0)
{
dpayment = Convert.ToDouble(dt.Rows[1]["monthlyamount"]).ToString("0.00");
val= Convert.ToInt32( dt.Rows[3]["value"]).ToString();
}
}
我正在使用这些值并像这样进行操作
double eqvperiod = Convert.ToDouble(val / dpayment).ToString();
但是它给出了错误
运算符'/'不能用作字符串和字符串类型的操作数。
任何人都可以提供帮助
我的最终结果是我想将来自数据库的值转换为double,我必须对此值进行操作
答案 0 :(得分:2)
在分割之前转换为double
:
double eqvperiod = Convert.ToDouble(val) / Convert.ToDouble(dpayment);
实际上,您不需要Convert()
然后ToString()
然后Convert()
第二次:
int val = 0;
double dpayment = 0.0;
if (dt != null && dt.Rows.Count > 0)
{
dpayment = Convert.ToDouble(dt.Rows[1]["monthlyamount"]);
val= Convert.ToInt32( dt.Rows[3]["value"]);
}
double eqvperiod = val / dpayment;
答案 1 :(得分:2)
为什么你把val和dpayment声明为字符串?如果您希望它们是数字类型,则更改变量声明并删除ToString,即
int val;
double dpayment;
dpayment = Convert.ToDouble(dt.Rows[1]["monthlyamount"]);
val= Convert.ToInt32( dt.Rows[3]["value"]);
答案 2 :(得分:0)
试试这个:
double eqvperiod = (Convert.ToDouble(val) / Convert.ToDouble(dpayment));
答案 3 :(得分:0)
这个怎么样?
double eqvperiod = 0.00;
if (dt != null && dt.Rows.Count > 0)
{
eqvperiod = Convert.ToDouble(dt.Rows[1]["monthlyamount"]) /
Convert.ToInt32(dt.Rows[3]["value"]);
}
答案 4 :(得分:0)
您也可以double.Parse("0.010")
这也适用于int,short,decimal,以及任何其他数字类型