如何在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
向上取整前向round()函数添加0.5
在这种方法中,在使用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()函数获取数字的向上取整值,即大于或等于该数字的最小整数,方法是将该数字作为参数传递给它。
示例
以下程序返回Python中给定浮点数的向上取整值:
# 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模块的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模块,它允许我们将给定的浮点数转换为十进制数并对其进行向上取整。