2016-03-28 41 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

相关问题