如何使用Python对浮点数进行四舍五入?

如何使用Python对浮点数进行四舍五入?

在Python中,我们可以使用内置的round()函数对浮点数进行四舍五入。该函数有两种用法,一种是只传入一个参数,四舍五入到整数,另一种是传入两个参数,第二个参数指定要保留的小数位数。

阅读更多:Python 教程

四舍五入到整数

对于只需要将数值四舍五入到整数的情况,可直接使用round()函数。

num = 3.6
rounded_num = round(num)
print(rounded_num)  # 4

在这个例子中,我们将3.6传给round()函数,该函数将其四舍五入到整数4,并将结果存储在rounded_num变量中。

除了正数,round()函数还可以将负数四舍五入到最近的整数,而不是向零舍入。

num = -3.6
rounded_num = round(num)
print(rounded_num)  # -4

四舍五入到指定小数位数

如果要将浮点数四舍五入到指定小数位数,则需要在调用round()函数时传递第二个参数,该参数指定要保留的小数位数。

num = 3.14159
rounded_num = round(num, 2)
print(rounded_num)  # 3.14

在这个例子中,我们将保留两位小数,即将3.14159四舍五入到3.14,并将结果存储在rounded_num变量中。

需要注意的是,指定保留小数位数时,round()函数的四舍五入规则仍然适用。例如:

num = 3.145
rounded_num = round(num, 2)
print(rounded_num)  # 3.14

在这个例子中,由于3.145比3.14更接近3.15,以传递给round()函数的精度为基础,该函数将3.145四舍五入到3.14而不是3.15。

银行家舍入

在处理小数时,银行家舍入是一种常用的技术。这种技术可以使得四舍六入,五部分有时舍去,有时进位。在Python中,可以通过decimal模块中的getcontext()函数来设置银行家舍入模式。

from decimal import Decimal, ROUND_HALF_EVEN

getcontext().rounding = ROUND_HALF_EVEN

num = Decimal('3.145')
rounded_num = round(num, 2)
print(rounded_num)  # 3.14

在这个例子中,我们从decimal模块导入Decimal和ROUND_HALF_EVEN常量。然后,使用getcontext()函数将rounding属性设置为ROUND_HALF_EVEN,这是银行家舍入的模式。最后,我们将要四舍五入的数字3.145转换为Decimal类型,并将保留小数位数设置为2。结果,该数字被舍去到3.14。

结论

在Python中,我们可以使用内置的round()函数对浮点数进行四舍五入。要将数值四舍五入到整数,只需调用round()函数,不需要传递第二个参数。要将数字四舍五入到指定小数位数,请将要舍入的数字和保留的小数位数传递给round()函数。在处理小数时,银行家舍入是一种常用的技术。我们可以使用decimal模块中的getcontext()函数来设置银行家舍入模式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程