繁体   English   中英

寻找获得的价值我哪里出错了?

[英]finding value gained where am I going wrong?

我正在尝试编写一个简单的脚本,它会告诉我从两个值之间的百分比差异中获得的数量。 这是我所拥有的,但它没有返回正确的金额。

function percentUP (money,newNum,Orignal){
    var increase = newNum - Orignal;
    var percent = Math.floor(Math.round(increase/Orignal*100));
    var gains = Math.round((money/percent)*100);
    
    return "you would make £" + gains + " from your " + "£" + money + " investment"
};

我一直在用 (10,30,10) 增加 200% 的简单函数对其进行测试,这应该给我一个结果:

“你可以从你的 10 英镑投资中赚到 30 英镑”

但我得到的是: “你可以从你的 10 英镑投资中赚到 5 英镑”

对不起,如果这真的很明显,我现在只是在学习。

你在gains计算中犯了一个错误。 在您的示例中,您的percent等于 200。您想将钱乘以它并除以 100。

你的计算: money / 200 * 100 = money / 2
预计计算: money * 200 / 100 = money * 2

更正的代码:

function percentUP(money, newNum, orignal) {
  var increase = newNum - orignal;
  var percent = Math.round(increase / orignal);
  var gains = Math.round(money * percent);

  return `you would make £${gains} from your £${money} investment`
};

PS 您还可以从percent计算中删除Math.round调用。 它只是混淆了准确性。

收益计算似乎是错误的。 它应该是原始 +(原始 * 百分比 / 100)。 那应该是 10 + (10 * 200/100)。 您还可以在上面的示例中使用您的货币变量而不是原始变量。 我不确定根据您计算的差异。

此外,不确定百分比形式的目的是什么,使用十进制形式更简单,即 2 而不是 200%。 这样你就避免了两次转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM