2012-02-08 3 views
3
私は指数関数、文字列を変換する必要が

ずに、float値に6.5235375356299998e-07、 などの表示、および0.00000065235のような私の計算の結果を表示... は、どのように私はPythonプログラムでこれを行うことができますか?6.5235375356299998e-07指数表記

+4

'float(" 6.5235375356299998e-07 ")'を試しましたか? –

+0

>>> a = 6.52353753563E-7 >>> float(a) 6.5235375356299998e-07 – StefanS

+0

はい、試しましたが、結果が指数でもあります – StefanS

答えて

8

6.5235375356299998e-07は、eがある場合でも完全に有効な浮動小数点数です。あなたはそれで全体の計算を行うことができます。

>>> 6.5235375356299998e-07 * 10000000 
6.5235375356300001 

>>> 6.5235375356299998e-07 + 10000000 
10000000.000000652 

後者の場合には、多くの桁があるため、Pythonの浮動小数点の精度が消えます。

>>> '{0:.20f}'.format(6.5235375356299998e-07) 
'0.00000065235375356300' 

をしかしそれは、文字列になり、あなたはもはやそれを任意の計算を行うことができなくなります。

あなたはeのない文字列表現が必要な場合は、これを試してみてください。

+1

、さらには '* 1e7' :) –

+0

スーパー、それは良い方法です!ありがとうver。 – StefanS

関連する問題