打印时圆形浮动的简单方法

时间:2015-04-23 05:00:10

标签: python

我正在开展一个必须接受用户输入并进行计算的项目。

我的目标是打印显示为

  

告知客户他们今天节省了0.71

  

告知客户他们今天保存了0.7105000000000001

是否有什么东西可以放入同一行代码中使用print函数进行舍入?或者我必须修改每个变量。

我可以根据要求发布我的代码。

3 个答案:

答案 0 :(得分:1)

您可以使用内置round()函数和浮点格式:

>>> print "{0:0.2f}".format(round(x, 2))
0.71

一些注释:

  • {0.2f}会将浮点数格式化为2位小数。
  • round(x, 2)将向上舍入到小数点后两位。

旁注: round()是非常必要的IHMO,如果你想在“显示”之前“舍入”数字。这真的取决于你在做什么!

答案 1 :(得分:1)

round()返回浮点值数字舍入到小数点后的数字位数。第一个参数是数字,第二个参数是精度

no = 0.7105000000000001
print round(no, 2)

第二个解决方案:

print "%.2f" % 0.7105000000000001

答案 2 :(得分:0)

使用decimal代替round()

from decimal import *

print(round(8.494,2)) # 8.49
print(round(8.495,2)) # 8.49
print(round(8.496,2)) # 8.5


print(Decimal('8.494').quantize(Decimal('.01'), rounding=ROUND_HALF_UP)) #8.49
print(Decimal('8.495').quantize(Decimal('.01'), rounding=ROUND_HALF_UP)) #8.50
print(Decimal('8.496').quantize(Decimal('.01'), rounding=ROUND_HALF_UP)) #8.50