Python 如何对浮点数进行四舍五入
在本文中,我们将向您展示如何在python中对浮点数进行四舍五入。
使用round()函数对浮点数进行四舍五入
round() 函数返回指定小数位数的浮点数,是指定数字的四舍五入版本。
该函数将返回最接近的整数,因为小数位数的默认值为0。
语法
round(number, digits)
参数
- number(必填) - 应该四舍五入的数字。
-
digits(可选) - 要四舍五入的小数位数。默认为0。
Python有一个内置的函数 round() 用于这个目的。该函数接受两个参数:要四舍五入的数字和要四舍五入的小数位数。如果要将数字四舍五入到 最近的整数 ,则不给出第二个参数。
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入的数字。
-
使用 round() 函数通过将输入的数字作为参数来四舍五入输入的数字。
示例
以下程序使用round()函数返回输入数字的四舍五入值:
# input number
inputNum = 2.14357
# rounding up the input number using the round() function
print("rounding up", inputNum,":", round(inputNum))
输出
在执行上述程序后,将会生成以下输出结果 –
rounding up 2.14357 : 2
将0.5添加到round()函数中,然后进行四舍五入
在这个方法中,使用round()函数进行四舍五入之前,先将0.5添加到数字中
示例
# input number
inputNum = 2.14357
# adding 0.5 to the input number and then rounding up using the round() function
print("Adding 0.5 to", inputNum,"and then rounding up:", round(inputNum+0.5))
输出
执行上述程序后,将生成以下输出 –
Adding 0.5 to 2.14357 and then rounding up: 3
我们取一个浮点数,比如2.143,然后加上0.5(使得数变成2.6143>2.5),将其作为参数传递给round()函数。所以在这种情况下,round()函数将这个整数向上舍入,因为它超过了一半,即2.5,所以结果是3。
使用ceil()函数向上舍入浮点数
在Python中,方法 ceil(x) 返回大于或等于x的最小整数。这被称为x的上取整值。
语法
import math
math.ceil(x)
参数
- x - 任意实数
返回值 - 返回不小于x的最小整数。
步骤
以下是执行所需任务的算法/步骤:
- 使用import关键字导入 math 模块。
-
使用 math.ceil() 函数获取一个数的向上取整值,即不小于该数的最小整数,将该数作为参数传递给该函数。
示例
以下程序返回给定浮点数的向上取整值,即最接近浮点数且不小于它的整数值。
# importing math module
import math
# getting the ceiling value of numbers using math.ceil()
print("Round-Up value of -12.11:", math.ceil(-12.11))
print("Round-Up value of 50.26:", math.ceil(50.26))
print("Round-Up value of 30.5:", math.ceil(30.5))
print("Round-Up value of 1.1:", math.ceil(1.1))
输出
执行上述程序后,将产生以下输出 –
Round-Up value of -12.11: -12
Round-Up value of 50.26: 51
Round-Up value of 30.5: 31
Round-Up value of 1.1: 2
使用布尔逻辑将浮点数四舍五入
示例
以下程序使用 bool() 函数返回输入数字的四舍五入值-
# input number
n = 3.4
# rounding up the number
print("rounding up the value of", n,":",int(n) + bool(n%1))
输出
执行上述程序时,将生成以下输出结果 –
rounding up the value of 3.4: 4
浮点数取整Decimal()函数
步骤
下面是执行所需任务的算法/步骤−
- 使用import关键字从 decimal 模块中导入所有函数(使用*运算符导入所有函数)。
-
使用 decimal()函数 (默认情况下给出一个包含50位数字的十进制值)将给定的数字转换为十进制数,然后使用quantize()函数将其量化。
示例
以下程序使用十进制模块的Decimal()函数返回输入浮点数的向上取整值−
# importig all functions from the decimal module
from decimal import *
# rounding up the number
print("the Round up value of 5.834 =",int(Decimal(5.834).quantize(Decimal('1.'), rounding=ROUND_UP)))
输出
执行上述程序后,将会生成以下输出:
the Round up value of 5.834 = 6
将浮点数通过int()函数向上取整
示例
以下程序使用int()函数返回输入浮点数的向上取整值:
# input number
n = 115.914
# rounding up the number
print("Round up value of ",n,"is",int(n) + ((int(n) - n) != 0))
输出
执行后,上述程序将生成以下输出-
Round up value of 115.914 is 116
使用非运算符舍入浮点数
示例
下面的程序使用int()和is_integer()函数返回输入浮点数的向上取整值−
# input number
n = 5.3
# rounding up the number
result = int(n) + (not n.is_integer())
# priting the resultant rounded-up number
print("rounding up value of", n,":", result)
输出
执行之后,上述程序将生成以下输出结果 –
rounding up value of 5.3 : 6
结论
我们在本教程中介绍了Python中如何采用多种方法将给定的浮点数四舍五入。通过示例,我们还了解了round()方法,该方法用于四舍五入指定的整数。我们还学习了decimal模块,该模块允许我们将给定的浮点数转换为十进制并将其四舍五入。