首页 > 解决方案 > 浮点到字符串的一般格式

问题描述

Python 一直对大浮点数使用固定格式:

>>> str(1.0e-2)
'0.01'
>>> str(1.0e+2)
'100.0'
>>> str(1.0e-10)
'1e-10'
>>> str(1.0e+10)
'10000000000.0'

我怎样才能让它1e+10在最后一种情况下打印,类似于 c++:

std::cout << 1.0e-2 << '\n'
          << 1.0e+2 << '\n'
          << 1.0e-10 << '\n'
          << 1.0e+10 << '\n';

0.01
100
1e-10
1e+10

我不想总是使用科学记数法。

如何使 Python 转换的行为类似于 C++ 通用格式

str(x)

什么时候x是花车?

标签: python

解决方案


你可以用科学记数法做到这一点

"{:e}".format(1.0e-7)

或者您可以选择在小数点后显示多少位,方法是.ne

"{:.2e}".format(1.0e-7)

推荐阅读