如何获得正确的小数作为简单分数的输出

Posted

技术标签:

【中文标题】如何获得正确的小数作为简单分数的输出【英文标题】:How to get right decimals as output in simple fraction 【发布时间】:2019-03-16 13:02:54 【问题描述】:

当我写作时

print(":.4f".format(333/106))

我得到输出

3.000

但是当我尝试时

print(":.4f".format(3.14159))

我明白了

3.1416

我怎样才能得到分数的正确小数?

【问题讨论】:

看起来,与您的标签相反,您使用的是 Python 2,其中整数之间的 / 是整数除法,因此结果是整数 3 【参考方案1】:

您可能正在使用 Python 2.x,其中两个整数相除得到四舍五入的结果。 尝试将至少一个数字指定为浮点数,例如print(":.4f".format(333.0/106))print(":.4f".format(float(333)/106))

【讨论】:

谢谢,这与提供的代码配合得很好,当切换到 Python 3.7 时,我得到的输出带有更多小数【参考方案2】:

试试下面的代码:

pi = 3.1415926
precision = 4
print( ":.f".format( pi, precision ) )

检查此链接以格式化cheat-sheet

【讨论】:

以上是关于如何获得正确的小数作为简单分数的输出的主要内容,如果未能解决你的问题,请参考以下文章

小数在c#中变成不正确的分数

matlab如何把小数转换成分数

请问在c语言中如何输出百分数?

在VBA中输出分数而不是小数

matlab结果输出小数

matlab中分数如何表达呢?如图