2016-03-28 51 views
0

所以我的代碼是書籤代碼(在Chrome中使用),我使用的學校,以及這是它:爲什麼我的代碼使結果產生負面

的javascript:

var org=prompt("What is the original?"); 
var norg=prompt("What is the new?"); 
var x = +norg - +org; 
var y =+x/+org; alert(+y * -100); 
//       ^^^^^^ 
if (+org < +norg) {alert("Increase");} else {alert("Decrease");} 

我使用-100使結果等於正的百分比,但爲什麼需要-100才能達到正值?

此外,如果你想知道這是找到變化的百分比或試圖。

+0

'* ** - ** 100'是不是有效的JavaScript。這段代碼試圖做什麼? – smaili

+1

他似乎在試圖告訴計算機他真的真的想要乘以100. – Gendarme

+0

刪除所有的加號,如果你總是想返回一個正數百分比,使用'Math.abs' - > ** https ://jsfiddle.net/rf16hskt/** – adeneo

回答

0

我要去嘗試,並試圖回答這個問題的最好我能...

1)刪除所有的加號。重構代碼,以便將prompt的返回值分配給該變量後立即生成。使代碼更乾淨,更少冗餘,更不用說更高性能。

var org = +(prompt("What is the original?")); 
var norg = +(prompt("What is the new?")); 

2)@adeneo說,如果你正在尋找確保正值,環繞Math.abs值。

var y = Math.abs(x/org); 

3)您也可以使用JavaScript的無效alert(+y * **-100**);,這對於現在的我會註釋掉,因爲這是一個有點不清楚你想要做什麼警報。

最終代碼:

var org = +(prompt("What is the original?")); 
var norg = +(prompt("What is the new?")); 
var x = norg - org; 
var y = Math.abs(x/org); 
//alert(+y * **-100**); <-- commenting out for now 
if (org < norg) { 
    alert("Increase"); 
} else { 
    alert("Decrease"); 
} 
+0

是的,在我縮進之前,我想讓它變成粗體,這就是爲什麼有** ...... ** – Riderfighter

+0

@Riderfighter如果我已經滿足您的問題,請將其標記爲已回答。否則,請在您的原始問題中添加更多信息,以便我可以更好地嘗試回答它。 – smaili

相關問題