0
當我嘗試比較2個浮點值時,有一點問題。
在我的項目,每個遊戲對象具有.Score
每個.Score屬性具有0.5
步驟0和10之間的浮點值在minimumscoreId存儲的0..11一個浮點值(0是如果函數未使用)
我遍歷每個遊戲,看看得分是否高於選定的分數。但是當我選擇9作爲minimumScore時,它是9.5 < 9.5C# - 比較浮點值
更奇怪的是,如果我選擇8,它會讓我回到遊戲值9,另一個9.5和另一個7.5 ...
我真的不知道到哪裏尋找這個問題,我想停止和檢查值,但它只是最高審計機關if(9.5 < 9.0)
,它仍然進入,如果...
if (minimumScoreId > 0)
{
for (int i = 0; i < minimumScoreId; i++)
{
float score = (((Game)(games[i])).Score);
if (score < (minimumScoreId + 1.0))
{
//delete from a list (this works in other functions without the float thing)
}
}
}
您確定要將分數與minimumScore * Id *進行比較嗎? –
在你的文本中使用'>'但是在代碼中它是'<'。你能混淆兩者嗎? –
順便說一下,你的第一個'if'在這裏是多餘的 - 如果'minumumScoreId'爲零(或更少),'for'循環不會運行。 –