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

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

在本文中,我们将展示如何在Python中对浮点数进行四舍五入。以下是实现此任务的各种方法:

  • 使用round()函数

  • 使用format()函数

  • 使用Decimal模块

  • 使用ceil()函数

阅读更多:Python 教程

使用round()函数

函数round()可以返回一个带有指定小数位数的浮点数,是指定数字的四舍五入版本。

由于小数点位数的默认值为0,因此该函数将返回最接近的整数。

语法

round(number, digits)
Python

参数

  • number(必需) - 应该四舍五入的数字

  • digits(可选) - 要四舍五入的小数位数。默认值为0。

算法(步骤)

以下是执行所需任务的算法/步骤 –

  • 将输入number、decimal值(要四舍五入的小数位数)作为参数传递给round()函数,以将输入number四舍五入到给定的小数位数

示例

以下程序使用round()函数返回上述指定数字的舍入值,最多保留指定的小数位数 –

# 将数字四舍五入到小数点后2位
result_1 = round(4.56782, 2)
print("将4.56782四舍五入到小数点后2位:", result_1)
# 将数字四舍五入到小数点后3位
result_2 = round(4.56782, 3)
print("将4.56782四舍五入到小数点后3位:", result_2)
# 将数字四舍五入到最近的整数
result_3 = round(4.56782)
print("将4.56782舍入到最接近的整数:", result_3)
# 将数字四舍五入到十位数
result_4 = round(11.56782, -1)
print("将4.56782舍入到十位数:", result_4)
Python

输出

执行以上程序将生成以下输出 –

4.56782四舍五入到小数点后2: 4.57
4.56782四舍五入到小数点后3: 4.568
4.56782舍入到最接近的整数: 5
4.56782舍入到十位数: 10.0
Python

使用format()函数

算法(步骤)

以下是执行所需任务的算法/步骤 –

  • 创建一个变量来存储输入的浮点数。

  • 使用format()函数(它返回已由格式说明符指定的条目的格式化版本)将数字舍入到指定的小数位数,通过将输入数、格式(舍入到小数点后的位数)作为参数传递给它。

示例

以下程序使用format()函数返回指定数字的舍入值,最多保留指定的小数位数 –

# 输入浮点数
inputNumber = 4.56782
# 向上四舍五入保留三位小数
print("保留三位小数的四舍五入结果:", format(inputNumber,".3f"))
# 向上四舍五入保留一位小数
print("保留一位小数的四舍五入结果:", format(35.6578,".1f"))
Python

输出

执行以上程序后,将生成以下输出结果 –

保留三位小数的四舍五入结果: 4.568
保留一位小数的四舍五入结果: 35.7
Python

使用Decimal模块

Python的 decimal 模块有助于提高浮点数的精度。要使用此decimal模块,我们必须导入它。

decimal.Decimal(floatnumber) −默认给出50位的小数。

这里我们使用 value.quantize(decimal.Decimal(‘0.000’)) 将值四舍五入至小数点后三位。

算法(步骤)

要执行所需任务,需遵循以下算法/步骤 -。

  • 使用 import 关键字导入 decimal 模块

  • 创建一个变量以存储输入的浮点数。

  • 使用 decimal 模块的 Decimal() 函数将给定的浮点数进行转换。

  • 使用 value.quantize(decimal.Decimal()) 函数在小数点后指定的位数(这里是小数点后3位)将数字四舍五入 。

  • 打印输入的浮点数。

  • 打印输入的数值四舍五入的值,直到给出的小数位数为止。

例子

以下程序使用 decimal 模块返回输入浮点数的精确的指定位数的值:

# 导入decimal模块
import decimal
# 输入浮点数
inputNumber = 35.65782
# 将给定数字转换为Decimal
decimalValue = decimal.Decimal(inputNumber)
# 四舍五入至小数点后3个数字
roundedNumber = decimalValue.quantize(decimal.Decimal('0.000'))
# 打印输入的浮点数
print("输入浮点数:", inputNumber)
# 打印输入的数字四舍五入至小数点后3位的值
print("保留三位小数的四舍五入结果:", roundedNumber)
Python

输出

执行以上程序后,将生成以下输出结果 –

输入浮点数: 35.65782
保留三位小数的四舍五入结果: 35.658
Python

使用ceil()函数

算法(步骤)

要执行所需任务,需遵循以下算法/步骤 -。

  • 使用import关键字来导入math模块。

  • 创建一个变量来存储输入的浮点数。

  • 使用ceil()函数(返回数字的上限值,即大于或等于该数字的最小整数),将数字舍入到所需的小数位并打印结果数字。

如果您想将数字舍入到1234...位小数,则分别乘以和除以10100100010000数字
Python

示例

以下程序使用ceil()函数返回了输入浮点数的舍入值,直到指定的小数位数为止 –

# 导入数学模块
import math
# 输入浮点数
inputNumber = 4.56782
# 使用ceil()函数四舍五入到3个小数位
# 如果您想将数字舍入到1、2、3、4...位小数,则分别乘以和除以
# 10、100、1000、10000数字
print("将4.56782四舍五入到3个小数位:")
print(math.ceil(inputNumber*1000)/1000)
Python

输出

执行上述程序后,将生成以下输出 –

4.56782四舍五入到3个小数位:
4.568
Python

结论

在本文中,我们学习了如何使用四种不同的方法舍入给定的浮点数。我们还学习了如何使用ceil函数和一些数学逻辑来将数字舍入到n个小数位。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册