C# 类方法可能存在分析错误

C# 类方法可能存在分析错误,c#,parsing,C#,Parsing,因此,我试图从类方法将账单总成本的十进制值返回到文本框中 该类方法如图所示: public decimal calcCost(decimal totalCost, bool specialistRepair, decimal labourHours, decimal standardRate, decimal partSaleCost) { foreach (Job j in m_jobs) { if (speciali

因此,我试图从类方法将账单总成本的十进制值返回到文本框中

该类方法如图所示:

public decimal calcCost(decimal totalCost, bool specialistRepair, decimal labourHours,      decimal standardRate, decimal partSaleCost)
    {

        foreach (Job j in m_jobs)
        {
            if (specialistRepair == true)
            {
                totalCost = totalCost + 45;
            }

            totalCost = totalCost + partSaleCost + (labourHours * standardRate);
        }

        return totalCost;
    }
我遇到的问题是,它将“cannotimplicitly comvert type”十进制转换为“string”

我尝试过在“=”符号后解析整行,但这是不可能的

txtTotal.Text = //Here// Program.AuspexDo.calcCost(0, checkSpecialist, jobHours, standardRate, partSaleCost); 
main的代码如下所示:

      bool checkSpecialist = true;
        if (chkSpecialistRepairs.Checked == true)
        {
            checkSpecialist = true;

        }

        decimal jobHours = decimal.Parse(txtHours.Text); 
        decimal standardRate = Program.AuspexDo.StandardRate;
        decimal partSaleCost = 5; //to be configured



        txtTotal.Text = Program.AuspexDo.calcCost(0, checkSpecialist, jobHours, standardRate, partSaleCost); 
如果有人能帮忙,我将不胜感激。谢谢。

将其更改为

txtTotal.Text = Program.AuspexDo.calcCost(0, checkSpecialist, jobHours, standardRate, partSaleCost).ToString();  
换成

txtTotal.Text = Program.AuspexDo.calcCost(0, checkSpecialist, jobHours, standardRate, partSaleCost).ToString();  

calcCost
返回一个
decimal
,您正试图将返回值分配给
txtotal.Text
,它的类型为
string

正如错误所说,两者之间没有转换-您需要首先将返回值转换为
字符串
,方法是对返回值调用
ToString()

txtTotal.Text = Program.AuspexDo.calcCost(0, 
                                          checkSpecialist, 
                                          jobHours, 
                                          standardRate, 
                                          partSaleCost)
                                          .ToString();

查看和数字格式字符串,以及有关的信息,因为您可能希望输出为特定格式。

calcCost
返回一个
decimal
,您正试图将返回值分配给
txtotal.Text
,该类型为
string

正如错误所说,两者之间没有转换-您需要首先将返回值转换为
字符串
,方法是对返回值调用
ToString()

txtTotal.Text = Program.AuspexDo.calcCost(0, 
                                          checkSpecialist, 
                                          jobHours, 
                                          standardRate, 
                                          partSaleCost)
                                          .ToString();

请查看和数字格式字符串,以及有关的信息,因为您可能希望输出为特定格式。

我将“无法隐式转换类型”十进制转换为“字符串”。“我将使其更清晰。我将向方法传递“m_作业”,而不修改参数“totalCost”并返回修改后的值,但在计算中使用一个本地十进制-但是.ToString()才是真正的问题(您可能还需要格式化十进制。我将“Cannot implicit comvert type”十进制转换为“string”。“我会澄清我会将“m_jobs”传递给该方法,而不会修改参数“totalCost”并返回修改后的值,但在计算中使用一个局部小数点-但是.ToString()才是真正的问题(您可能还需要设置十进制的格式。哦,哇,我没想到会这样做,它没有显示错误,我会检查它是否符合我的要求。哦,哇,我没想到会这样做,它没有显示错误,我也会检查它是否符合我的要求。