2016-04-01 56 views
3

我看到了this answer on how to convert a negative number to positive,但情況稍有不同:我在Apache Cordova中做了一些編碼,並獲取了我需要翻轉的加速計數據。在JavaScript中將值從負值轉換爲正值還是負值轉換爲負值?

所以當加速度計返回一個X軸的值爲-5我需要將它轉換爲5以及相反;如果X軸值爲5,則新的X軸值應爲-5

我明白如何做-Math.abs()等,但我如何適應這樣的情況在我的代碼?

回答

3

您可以在此背景下,沒有必要的Math.abs做一個簡單的數學,

x_value = x_value * -1; 

或者你也可以否定的價值一樣,

x_value = -(x_value); 

雖然否定,有機會得到-0,但我們不需要擔心,因爲-0 == 0Abstract equality comparison algorithm中如此說明步驟1-c-vi

+0

'X_VALUE = - (X_VALUE);'是真的輝煌。我打算髮佈一個[自我回答的問題](http://stackoverflow.com/a/36364587/117259),現在已經瞭解到我的數學技能並不那麼火爆,還有很多其他方法可以解決這個問題。謝謝! – JakeGould

+1

@JakeGould很高興幫助! :) –

0

好,我的解決方案是創建一個這樣的三元,看看是否x_value大於0或不採取相應的行動:

x_value = x_value > 0 ? -Math.abs(x_value) : Math.abs(x_value); 
3

您可以乘任何數由-1得到它opposite

例子:

5 * -1 = -5 
-5 * -1 = 5 
2

爲什麼你需要Math.abs?

x_value = -1 * x_value; 

適用於我可以設想的每種情況。