格式化结果以显示两位小数

Posted

技术标签:

【中文标题】格式化结果以显示两位小数【英文标题】:Formatting results to display two decimal places 【发布时间】:2018-09-20 11:12:09 【问题描述】:

我正在尝试格式化以下程序,以便“平均”的结果仅显示到小数点后 2 位。我知道'%.2f' % 代码用于执行此操作,但我不知道如何将其集成到产生错误的最后一行代码中。

这是我正在开发的程序。

#the user has to enter three numbers for the program to average

#request the first number
answer1 = input('Please enter the first number: ')
answer1 = int(answer1)

#request the second number
answer2 = input('Please enter the second number: ')
answer2 = int(answer2)

#request the third number
answer3 = input('Please enter the third number: ')
answer3 = int(answer3)

final = answer1 + answer2 + answer3
final = int(final)

#print the average
print('The average of these numbers is ', final / 3)

这是最后一行,我不知道在哪里插入 '%.2f' % 以返回小数点后 2 位的结果。

任何帮助将不胜感激。

【问题讨论】:

Limiting floats to two decimal points的可能重复 【参考方案1】:
print('The average of these numbers is %0.2f' %final / 3)

【讨论】:

【参考方案2】:

您需要将变量final 转换为float。例如,作为整数的 final 将导致 10 / 3 = 3,但作为浮点 10.0 / 3 = 3.333333。 然后您可以使用函数round() 将浮点数舍入到一定的小数位数。 示例:

a = 10.0
final = round(a/3, 2)
final is now 3.33 

【讨论】:

以上是关于格式化结果以显示两位小数的主要内容,如果未能解决你的问题,请参考以下文章

格式化剑道网格以显示美元符号并允许最多两位小数?

使用python以两位小数格式化excel数字

EXCEL怎么让小数后两位显示0

Excel设置了单元格格式为保留数字保留两位小数,可是怎么弄都是显示整数,没有显示小数。求助!

如何格式化 DBGrid 列以显示两个小数位? [复制]

easyui datagrid 格式化列显示两位小数千分位