相关文章推荐
英勇无比的领带  ·  python ...·  1 月前    · 
爽快的日光灯  ·  腾讯轻联 Cron ...·  2 年前    · 
爱喝酒的牛肉面  ·  JS ...·  2 年前    · 
爱看书的松鼠  ·  ADF data flow cannot ...·  2 年前    · 

将Python中的浮点数转为字符串(科学符号),具体格式为

5 人关注

这是一个非常具体的问题,但尽管有大量的网上资源,我似乎找不到一个能做我想要的事情的函数。假设我有一个任意的浮点数,比如说 "2"。我想把这个浮点数转换为以下格式。

'2.000000E+000'

也就是说:指数前有8位数字,指数后有3位数字(算上符号有4位)。有几个函数几乎(但不完全)产生了所需的输出。使用

"%.6e" %float(2)

yields the output

'2.000000e+00'

这使我能够指定我必须要有多少个数字before指数,但不是之后 - 它总是给我两个数字。另一方面,函数numpy.format_float_scientific。

numpy.format_float_scientific(2.0000000000, exp_digits=3,precision=6)
Out[30]: '2.e+000'

permits me to specify the number of digits 之后指数,但不是之前。我希望两者都能做到。你知道我怎样才能做到这一点吗?

python
python-3.x
string
formatting
J.Galt
J.Galt
发布于 2019-11-28
1 个回答
niraj
niraj
发布于 2019-11-28
已采纳
0 人赞同

You can try with unique to False for numpy :

numpy.format_float_scientific(2.0000000000, unique=False, exp_digits=3,precision=6)