で計算する必要があります1/50000
。私がする時
float(1/50000)
Python では、 me のみが返されます0.0
。Pythonのべき乗の実際の値を取得するにはどうすればよいですか? 頂きたいです2.5*10^(-5)
。
で計算する必要があります1/50000
。私がする時
float(1/50000)
Python では、 me のみが返されます0.0
。Pythonのべき乗の実際の値を取得するにはどうすればよいですか? 頂きたいです2.5*10^(-5)
。
In [2]: 1.0/50000
Out[2]: 2e-05
に注意してください.0
。1.0
整数リテラルではなく、浮動小数点リテラルであることを確認します。
これを別の方法で書くと、次のようになります。
In [3]: float(1)/50000
Out[3]: 2e-05
あなたが今持っているものは、まず整数除算を使って を計算し1/50000
ます。この除算の結果は整数0
で、これは浮動小数点値 ( 0.0
) に変換されます。
最後に、現在のコードは Python 3 で正しく動作することに注意してください (そしてfloat()
は不要です)。これはPEP 238によるものです。
Python 3.x を使用する
>>> 1/50000
2e-05
またはpython 2.xで
>>> from __future__ import division
1.0/50000
またはを使用しfloat(1)/50000
ます。あなたがやった方法では、浮動小数点数に変換するまでに、除算はすでに行われており、追加の精度を得るには遅すぎます.
入力引数は、float として分割するには、float でなければなりません。
float(1) / float(50000)
または
1./50000
10 進数は 1 を float としてキャストします。入力値の 1 つが float の場合、除算演算も float になります。
あなたがしていたのは、整数を分割して 0 を取得し、次に 0 を float に '0.0' としてキャストすることでした。
引数の 1 つをfloatに変換するだけです。
>>> 1 / float(50000)
2e-05