5

現在取り組んでいる小さなゲームのレベリング システムの一部として、この曲線を実装しようとしています。方程式は次のとおりです。

f(x) = -e^-((-log(7)/100)*(100-x))+7

Pythonで次のように定義できます

f=lambda x:-e**-((-log(7)/100.0)*(100-x))+7

Python コンソールでこの関数を実行すると、期待される値が返されます。私はそれを Java に移植しました。Java では、次の形式を取ります。

public static double f(float x) {
    return (Math.pow(-Math.E, -((-Math.log(7)/100)*(100-x)))+7);
}

しかし、不思議なことに、これは常に を返しますNaN。以前にこの問題に遭遇したことはありません。何が起こっているのですか?

4

3 に答える 3