43

次の状況のロジックが必要です。私はこれを行うことに無知です。

1 月の収益が10 ドルで、2 月の収益が20 ドルであるとします。

私の成長((20-10)/10)*100% = 100%

3 月の収益が0$の場合。

それから私の成長((0-10)/10)*100 % =-100 %. これを負のパーセンテージと呼ぶべきでしょうか? (私はそのデフレを知っています)

さらに一歩進んで、

今 、 4 月の収益が20 ドルだとします。

どうすれば成長を計算できますか?, 確かに次の式は間違っています.((20-0)/0)*100 %= ?????

私の基本的な質問は

  1. 上記以外に、成長率を見つけるためのより良い解決策はありますか?

  2. 前述の式を使用する場合、参考として値を取得する必要がありますか? またはこれも間違っていますか?

4

10 に答える 10

16

[NaN]成長をパーセンテージで表示する必要がある場合は、これらの場合に表示するか、同様のものを表示するのが通例です。一方、成長率は、この場合、$/月として報告されます。したがって、あなたの例ではApril、成長率は次のように計算され((20-0)/1ます。

いずれにせよ、この特殊なケースを報告するための正しい方法を決定するのは、ユーザーの判断です。ユーザー要件に含まれていますか?

于 2013-11-11T14:19:26.283 に答える
0

両方の値がゼロの場合、変化はゼロです。

値の 1 つがゼロの場合、それは無限 (あいまい) ですが、100% に設定します。

以下は C++ コードです (v1は以前の値 (old)、v2は new):

double result = 0;
if (v1 != 0 && v2 != 0) {
  // If values are non-zero, use the standard formula.
  result = (v2 / v1) - 1;
} else if (v1 == 0 || v2 == 0) {
  // Change is zero when both values are zeros, otherwise it's 100%.
  result = v1 == 0 && v2 == 0 ? 0 : 1;
}
result = v2 > v1 ? abs(result) : -abs(result);
// Note: To have format in hundreds, multiply the result by 100.
于 2020-12-30T18:08:56.677 に答える