每次我运行它时,它都将向下舍入num13
,这不是我想要的。我希望它舍入到小数点后两位。如何将其整数转换为小数点后两位,以便如果输入正确的答案,例如10/4 == 2.50
,那么if (num12 == num13)
将评估为true
?目前num13
的评估结果为2,而不是预期的2.5。C#变量自动舍入,而它被设置为舍入到2位小数
Random NumberGen = new Random();
start6:
int num10 = NumberGen.Next(1, 11);
int num11 = NumberGen.Next(1, 11);
start5:
if (num10 > num11)
{
Console.Write(num10 + "/" + num11 + " = ");
decimal num12;
num12 = Convert.ToDecimal(Console.ReadLine());
num12 = Math.Round(num12, 2);
decimal num13;
num13 = num10/num11;
num13 = Math.Round(num13, 2);
if (num12 == num13)
{
Console.Clear();
goto start;
}
else
{
Console.WriteLine("wrong answer, try again.");
goto start5;
}
}
else
{
goto start6;
}
[documentation](https://msdn.microsoft.com/en-us/library/aa691373(v = vs.71).aspx)是你的朋友。 –
整数除法...'10/4 = 2'因为余数被截断时除以整数。 –
为什么你在c#中使用goto语句?!? – YuvShap