2012-02-17 104 views
0

好的,這是一個瘋狂的問題,但我一整天都在砸我的腦袋,而且一定有一個更簡單的方法來做到這一點!If語句空調

我有2個值和我想測試針對彼此這些值,但有可能是一個+或 - 它們之間10差是可接受的。

所有我一直在想的是,我將不得不寫,有很多的OR是一個巨大的聲明在那裏,即

if (red = red1) || (red == red1 + 1) || (red == red1 + 2) etc..... 

請人把我從我的痛苦,告訴我有一個更簡單的方法! !

回答

0

簡單:假設這是整數值:

if (abs(red - red1) <= 10) { 
} 

相反,如果你有浮點值:

if (fabs(red - red1) <= 10.0) { 
} 

還有其他幾個絕對值函數可用,取決於o n值的類型。有關詳細信息,請參見this SO answer

+0

您好!謝謝 – 2012-02-17 15:54:45

+0

從'.. red == red1 + 1 ..'的嘗試來看,他們是整數。 – aioobe 2012-02-17 15:55:37

+0

@aioobe - 我同意,這就是爲什麼我投票給你的答案。但是這似乎也可能是由一個沒有經驗的開發者提出的,即使紅色不是整數,也可能嘗試使用「red + 1」。 – 2012-02-17 16:00:41

3

檢查兩數之差的絕對值小於10

if (abs(red - red1) <= 10) 
    ...