python - 如何避免 Python 用科学计数法打印数字?
问题描述
我知道像我这样的一些问题已经发布,但我的情况有点不同。我想避免使用科学记数法,但我遇到了一个问题:我无法格式化我的输出,{:.df}
因为在运行脚本之前我不知道位数。事实上,这个输出是对输入进行计算的结果。这是有人建议我做的事情:
("{:.%df}" % number_of_digits(result[i])).format(result[i])
遗憾的是它不起作用。这是一段更大的代码,您可以很好地理解:
result = [n / 1000000**3, n / 100000**3, n / 10000**3, n / 1000**3, n / 100**3, n / 10**3, n]
for i in range(len(volume_units)):
print(str(n) + ' ' + volume_units[choice - 1] + " = " + ("{:.%df}" % number_of_digits(result[i])).format(result[i]) + ' ' + volume_units[i])
这是number_of_digits
函数的代码:
def number_of_digits(number):
counter = 0
while number > 0:
number //= 10
counter += 1
return counter
非常感谢会回答的人!
你的输出格式是什么样的?
就像这样: 输出格式
解决方案
length = len(str(abs(your_number)))
format_string = '{:.' + str(length) + 'f}'
print format_string.format(your_number)
您需要针对所需的格式类型和数字变量进行调整。
推荐阅读
- node.js - 与 Knex.js 同时使用 req.body 和 SELECT 语句
- python - Pandas 仅删除 NaN 和浮动 0.0 的行
- mysql - 连接动态数量的字段(MySQL 5.7)
- amazon-web-services - 我可以使用 boto 将“ok_action”添加到现有的 cloudwatch 警报而不创建新警报吗?
- html - 使绝对下拉元素居中
- azure-devops - 如何从发布管道任务向 TFVC 进行身份验证?
- python - 如何使用 Django 拥有持久会话变量?
- python-3.x - 提取文件的某个部分并写入新文件
- dependency-injection - 为什么 IOC 实现被称为“容器”
- javascript - Postgres 查询似乎将 NaN 返回为 0