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()才是真正的问题(您可能还需要设置十进制的格式。哦,哇,我没想到会这样做,它没有显示错误,我会检查它是否符合我的要求。哦,哇,我没想到会这样做,它没有显示错误,我也会检查它是否符合我的要求。