2013-07-25 80 views
4

之間的值百分比值,這可能是一個非常愚蠢的問題,但..如何計算兩點

我有3個值,例如可以給他們打電話了minX,currentX和maxX的。即時通訊尋找一種方法來計算currentX代表的maxX的百分比。例如,如果maxX是50,minX是40,currentX是45,那麼我想得到50%,這是非常基本的,但是我遇到的問題是當我的一個或多個變量是負數時。

任何幫助,將不勝感激,也讓我知道,如果我沒有解釋自己不夠好

+0

我不明白你在問什麼.... – Paddyd

+0

表明您已經嘗試 – Ehsan

+0

添的回答作品完美的代碼,但你是對的,我會確保我記得下次提出我的代碼。 – kgpmurray

回答

16
(currentX - minX)/(maxX - minX) 

會給你的百分比,即使你正在使用負數(只要maxX > currentX > minX)。還要確保你正在處理雙打/浮動,而不是整數。否則你需要施放。

+0

謝謝你,作品像魅力。 – kgpmurray

+0

這是Unity,所以它是浮動的,不是雙打的。您可以查看Unity的InverseLerp實現;你的是它的重要組成部分。 – Jessy

0

你需要有一些錯誤檢查,以確保它是一個正數。

如果(X> = 0)

..do你的東西

其他

值輸入的是小於0

+0

不幸的是,這些值是從Unity3d的世界空間座標中獲取的,因此有時候方程必須使用負數。 – kgpmurray

+0

沒有理由不接受負數。他們只是數字。 –