0
期望的行为使用Decimal.js计算两个数字之间百分比增加/减少的正确方法是什么?
显示增加的百分率的比较/减少的new_value
到old_value
,表示负指示符时出现了一个下降,和4位小数(与尾随零如有必要)。
实际行为
好
如果old_value
是38.1200
和new_value
是19.0600
结果是-50.0000
不太好
如果old_value
是0.0000
和new_value
是1.0000
结果是Infinity
(我预计结果是100.0000
。 编辑:我现在认识到,不存在从0
到任何东西,例如this等帖子的百分比增加的事情。
我已经试过
var old_value = new Decimal(0.0000);
var new_value = new Decimal(1.0000);
var difference = new_value.sub(old_value).dividedBy(old_value).times(100).toFixed(4, 7);
// without using Decimal.js, the equation above would be:
// (new_value - old_value)/old_value * 100
$(".result").text(difference.toString());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/decimal.js/7.3.0/decimal.min.js"></script>
<p class="result"></p>
我建议你用if条件处理它 –