Python float输出指数形式和小数形式切换(即科学计数法和完整数值切换)

(本文数字全部瞎编,仅作举例之用,请勿相信。
另,本人Python初学者,写个文章作为笔记,也希望可以对他人有所帮助,如有错误或更好地实现方法欢迎各路朋友们指教)

如果float类型位数过多,输出时会自动变成指数形式,如下

import math
m = 5.52  #密度
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为',W,'吨')
#运行结果
请输入地球直径(km)1234
地球重量为 4.344833777941348e+19

这样输出的数据很不好看,虽然是科学计数法,但小数点位数过多
可以通过格式化输出,实现完整的整数或漂亮的科学计数法

输出规定格式的科学计数法

有两种方法:

  1. 利用字符串格式化操作符 “%”
  2. 利用字符串的format()方法
import math
m = 5.52
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为%.2e吨'%W)  #.2是规定了2位小数
print('地球重量为{:.2e}吨'.format(W))

请输入地球直径(km)1234
地球重量为4.34e+19吨
地球重量为4.34e+19

可以看到这两种方法的输出结果是一样的

输出完整的float值

实现方法是一样的,只不过把上文类型符的e改为f,代码如下

import math
m = 5.52
r = float(input('请输入地球直径(km):'))
V = 4*math.pi*r**3/3
W = m*V*1000**3
print('地球重量为%.f吨'%W)

请输入地球直径(km)1234
地球重量为43448337779413483520

总结一下

利用各种格式化输出方法,更改类型符就可以实现切换
e 是输出指数形式,即科学计数法
f 是输出小数形式,即完整数值

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐