如何在 Python 中以精确的精度打印双精度? [复制]

Posted

技术标签:

【中文标题】如何在 Python 中以精确的精度打印双精度? [复制]【英文标题】:How do I print double in Python with exact precision? [duplicate] 【发布时间】:2016-04-30 09:11:00 【问题描述】:

我需要以精确等于 6 的精度打印 double,我找到了函数 round

print(str(round(result, 6))

但如果 result 本身的精度较低,打印函数会在末尾跳过零。

例如,此类代码的输出,

print(str(round(4.0, 6)))

4.0

但我需要的是

4.000000

我怎样才能做到这一点?

【问题讨论】:

format(result, '.6f')? 【参考方案1】:

尝试使用格式字符串:

print("%.6f"%4.0) # 4.000000

或者:

print(":.6f".format(4.0))

有关格式字符串的详细信息和更多示例,请参阅the Python documentation。

【讨论】:

以上是关于如何在 Python 中以精确的精度打印双精度? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中以字节数组形式将 64 位双精度转换为 80 位双精度

将精确的音频位置存储为双精度秒是不是安全?

精度浮点型数据精确到了几位小数呢?

取一个双精度浮点数,并输出它(保留小数点后8位),

在 C语言中 双精度和单精度的数,小数点后面分别保留几位啊·······

将双精度打印到字符串流时如何避免“指数”格式