c# - 如何将 int 转换为 double?

标签 c# syntax-error

我在将 int 值转换为 double 值时遇到问题。我知道我必须施放它们,而且我正在努力做到这一点;但是 C# 仍然给我一个将 int 转换为 double 的错误,并说我需要一个转换。此外,它还给我一个错误,试图获取值下的 totalunits 值。它说:“**不能在此范围内声明名为“values”的局部变量,因为它会给“values”赋予不同的含义,而“values”已在父范围或当前范围中用于表示某些否则。我对这个错误感到困惑,因为我也希望 totalunits 更改值。somweone 可以帮助我吗?谢谢。

贾斯汀

这是我的一些代码:

//Get the Refurb_Rate for the day


private double GetRefurbRate()
{
    string sql = "";
    double Refurb_Rate = 0;
    int totalRefurb = 0;
    int totalUnits = 0;
    string error_msg = "";

        //Getting the value for sql for totalRefurb
        sql = "SELECT COUNT(distinct rp.repair_ord) " +
           "FROM " + schema + ".repair_part rp " +
           "WHERE rp.repair_type = 'REFURB' and rp.created_date > '" + DateTime.Now.ToString("d-MMM-yyyy") + "' ";


        while (true)
        {
            if (!myDb.RunSql(sql, true))
            {
                error_msg = "DBError for getting Refurb Rate";
                break;
            }
            if (myDb.dbRdr.HasRows)
            {
                if (myDb.dbRdr.Read())
                {


                    object[] values = new object[myDb.dbRdr.FieldCount];
                    myDb.dbRdr.GetValues(values);
                    Console.WriteLine(values[0].ToString());
                    totalRefurb = Convert.ToDouble(values[0].ToString());());// This is where convert to double error comes in.


                    //Getting the value from sql for totalUnits
                    sql = "SELECT count(distinct rp.repair_ord) " +
                        "FROM " + schema + ".repair_part rp " +
                        "WHERE rp.repair_type = 'REFURB' and rp.ref_desig is null  and rp.created_date > '" + DateTime.Now.ToString("d-MMM-yyyy") + "' ";

                    while (true)
                    {
                        if (!myDb.RunSql(sql, true))
                        {
                            error_msg = "DBError for getting Refurb Rate";
                            break;
                        }
                        if (myDb.dbRdr.HasRows)
                        {
                            if (myDb.dbRdr.Read())
                            {

                                // This is where the values error comes in
                                object[] values = new object[myDb.dbRdr.FieldCount];
                                myDb.dbRdr.GetValues(values);
                                Console.WriteLine(values[1].ToString());
                                totalUnits = Convert.ToDouble(values[1].ToString());// This is where convert to double error comes in.

                                try
                                {

                                    //Formula for Refurb Rate
                                    Refurb_Rate = totalRefurb / totalUnits * 100;


                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e);
                                }

                            }

                        }

                        break;
                    }
                    myDb.dbRdr.Close();

                    if (error_msg != String.Empty)
                    {
                        MessageBox.Show(error_msg, "Get Refurb Rate",
                                        MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }

                    return Refurb_Rate;
                }
            }
        }
    }

最佳答案

改变第二个object[] values = new object[myDb.dbRdr.FieldCount];
values = new object[myDb.dbRdr.FieldCount];
object[] values2 = new object[myDb.dbRdr.FieldCount];

第一个如果你想替换values的内容,第二个如果你想声明一个自变量..

关于c# - 如何将 int 转换为 double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5654360/

相关文章:

mysql - SQL查询给出下面提到的错误

mysql - 尝试创建名为 : 9e1617bafr1_1 的数据库时出现语法错误

c# - 如何更改 XAMARIN 中 Picker 占位符的颜色?

c# - RegexValidator 验证电子邮件,制作标准属性

scheme - 方案功能(DrRacket)

python - 为什么将空格计为语法错误?

plsql - PL/SQL错误代码PLS-00103

c# - 从资源文件动态生成可用的本地化

C# 与非托管 dll 数据结构互操作

c# - WPF:将递归字典绑定(bind)到 TreeView