C# 如何在c中完成百分比#

C# 如何在c中完成百分比#,c#,percentage,C#,Percentage,我试图让我的程序计算正确答案与错误答案的百分比。当我运行程序并输入第一个正确值时,它显示100%。然而,当我输入错误的答案时,它将%显示为0.00%,而它应该是50%,因为有1对1错。我如何让它正常工作。这是我的密码: private void getCalc() { lblPercent.Text = (intCorrect / (intCorrect + intIncorrect)).ToString("P"); getRan(); lblFirstNum.Text

我试图让我的程序计算正确答案与错误答案的百分比。当我运行程序并输入第一个正确值时,它显示100%。然而,当我输入错误的答案时,它将%显示为0.00%,而它应该是50%,因为有1对1错。我如何让它正常工作。这是我的密码:

private void getCalc()
{
    lblPercent.Text = (intCorrect / (intCorrect + intIncorrect)).ToString("P");
    getRan();
    lblFirstNum.Text = intNum1.ToString();
    lblSecNum.Text = intNum2.ToString();
    txtAnswer.Clear();
    txtAnswer.Focus();
}


private void getRan()
{
    Random myRandom = new Random();
    intNum1 = myRandom.Next(0, 10);
    intNum2 = myRandom.Next(0, 10);
}   
方法3:

intCorrect = 0;
intIncorrect = 0;

if (txtAnswer.Text == (intNum1 * intNum2).ToString())
{
    intCorrect += 1;
        lblCorrect.Text = intCorrect.ToString();
}
else
{
    intIncorrect += 1;
    lblIncorrect.Text = intIncorrect.ToString();
}

getCalc();

您需要将值强制转换为十进制类型(
float
double
decimal
,具体取决于精度)。用
int
s除法将删除十进制值

lblPercent.Text = ((double)intCorrect / (intCorrect + intIncorrect)).ToString("P");

除法整数时,需要转换为双精度(或十进制)以获得正确的值。否则,您将执行整数除法,这将始终导致一个整数。将其强制转换为double会使%起作用。谢谢