每次我運行它時,它都將向下舍入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