如何在Python中将浮点数向下舍入到小数点后2位?


在本文中,我们将向您展示如何在Python中将浮点数舍入到2位小数。以下是完成此任务的各种方法

  • 使用round()函数

  • 使用format()函数

  • 使用Decimal模块

  • 使用ceil()函数

使用round()函数

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

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

语法

round(number, digits)

参数

  • number(必填) - 需要舍入的数字

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

算法(步骤)

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

  • 创建一个变量来存储输入数字。

  • 将输入number, 2(小数位)作为参数传递给round()函数,以将输入数字舍入到小数点后2位。

  • 打印输入浮点数舍入到2位小数后的值。

示例

以下程序使用round()函数返回输入浮点数舍入到小数点后2位后的值:

# input floating-point number inputNumber = 3.367824 # rounding the number up to 2 decimal places roundedNumber = round(inputNumber, 2) # print the rounded value of floating-point number up to 2 decimals print("Rounding 3.367824 upto 2 decimal places:", roundedNumber)

输出

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

Rounding 3.367824 upto 2 decimal places: 3.37

使用format()函数

算法(步骤)

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

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

  • 使用format()函数(它根据格式说明符返回输入值的格式化版本)通过将输入数字和格式(舍入到2位小数)作为参数传递给它来将数字舍入到小数点后2位。

示例

以下程序使用format()函数返回输入浮点数舍入到小数点后2位后的值:

# input floating-point number inputNumber = 4.56782 # rounding the number upto 2 decimal places print("Rounding 4.56782 upto 2 decimal places:", format(inputNumber,".2f"))

输出

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

Rounding 4.56782 upto 2 decimal places: 4.57

使用Decimal模块

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

decimal.Decimal(floatnumber) - 默认情况下返回一个50位小数的值。

在这里,我们使用value.quantize(decimal.Decimal('0.00'))将数字舍入到小数点后2位。

算法(步骤)

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

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

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

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

  • 使用value.quantize(decimal.Decimal())函数将数字舍入到小数点后2位(这里是小数点后2位,因此我们在小数点后给出2个零)。

  • 打印输入浮点数

  • 打印输入数字舍入到小数点后2位后的值。

示例

以下程序使用decimal模块返回输入浮点数舍入到小数点后2位后的值:

# importing decimal module import decimal # input floating-point number inputNumber = 35.65782 # Converting the given number to decimal decimalValue = decimal.Decimal(inputNumber) # rounding the number upto 2 digits after the decimal point roundedNumber = decimalValue.quantize(decimal.Decimal('0.00')) # printing the input floating-point number print("Input floating-point number: ", inputNumber) # printing the rounded value of the input number upto 2 decimal places print("Rounding 35.65782 upto 2 decimal places:", roundedNumber)

输出

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

Input floating-point number: 35.65782
Rounding 35.65782 upto 2 decimal places: 35.66

使用ceil()函数

算法(步骤)

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

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

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

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

If you want to round upto 1, 2, 3, 4...decimals then multiply and divide by
# 10, 100, 1000, 10000 numbers respectively

示例

以下程序使用ceil()函数返回输入浮点数舍入到小数点后2位后的值:

# importing math module import math # input floating-point number inputNumber = 4.56782 # rounding the number upto 2 decimal places using ceil() function # If you want to round upto 1, 2, 3, 4...decimals then multiply and divide by # 10, 100, 1000, 10000 numbers respectively print("Rounding 4.56782 upto 2 decimal places:") print(math.ceil(inputNumber*100)/100)

输出

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

Input floating-point number: 35.65782
Rounding 4.56782 upto 2 decimal places:
4.57

结论

在本文中,我们学习了如何使用四种不同的方法将给定的浮点数在Python中舍入到小数点后两位。我们学习了如何使用ceil函数和一些数学逻辑将数字舍入到小数点后两位。我们还学习了如何使用decimal模块将给定的浮点数转换为十进制数并进行量化。

更新于:2023年8月29日

163K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告