1

で計算する必要があります1/50000。私がする時

float(1/50000)

Python では、 me のみが返されます0.0。Pythonのべき乗の実際の値を取得するにはどうすればよいですか? 頂きたいです2.5*10^(-5)

4

5 に答える 5

4
In [2]: 1.0/50000
Out[2]: 2e-05

に注意してください.01.0整数リテラルではなく、浮動小数点リテラルであることを確認します。

これを別の方法で書くと、次のようになります。

In [3]: float(1)/50000
Out[3]: 2e-05

あなたが今持っているものは、まず整数除算を使って を計算し1/50000ます。この除算の結果は整数0で、これは浮動小数点値 ( 0.0) に変換されます。

最後に、現在のコードは Python 3 で正しく動作することに注意してください (そしてfloat()は不要です)。これはPEP 238によるものです。

于 2012-06-10T08:46:08.387 に答える
3

Python 3.x を使用する

>>> 1/50000
2e-05

またはpython 2.xで

>>> from __future__ import division
于 2012-06-10T08:48:30.887 に答える
2

1.0/50000またはを使用しfloat(1)/50000ます。あなたがやった方法では、浮動小数点数に変換するまでに、除算はすでに行われており、追加の精度を得るには遅すぎます.

于 2012-06-10T08:46:43.463 に答える
2

入力引数は、float として分割するには、float でなければなりません。

float(1) / float(50000)

または

1./50000

10 進数は 1 を float としてキャストします。入力値の 1 つが float の場合、除算演算も float になります。

あなたがしていたのは、整数を分割して 0 を取得し、次に 0 を float に '0.0' としてキャストすることでした。

于 2012-06-10T08:46:53.633 に答える
2

引数の 1 つをfloatに変換するだけです。

>>> 1 / float(50000)
2e-05
于 2012-06-10T08:51:38.277 に答える