我有以下問題: 我有許多值x,我需要計算x^e(e是euler的數字)。 我這樣做:perl指數結果爲「nan」
$x = $x ** exp(1);
這將導致「南」爲我所有的測試用例。
但是,如果我打印的$ X我做這個之前的值,然後拿一個及以上線路改成這樣:
$x = -12.4061063212051 ** exp(1);
它導致完全正常的數字。
任何人都可以指出我在做什麼錯在這裏?
感謝
PS:也許錯誤隱藏在其他地方,所以這裏是我如何計算$ X:
$y = #some float value taken from the output string of another program
$x = ($y/(303 * 0.0019872041));
print $x; #prints number
$x = $x ** exp(1);
print $x; #prints "nan"
請讓我這是'x $'不是你的代碼中的錯字:D –
:D否,當然不是!謝謝 – Nick
你確定'$ x'在此之前不是NaN嗎? – Mat