目录
Round a number to 1 decimal place in Python
在 Python 中将数字四舍五入到小数点后一位
使用该round()
函数将数字四舍五入为小数点后一位,例如
result = round(2.5678, 1)
. 该round()
函数将返回小数点后四舍五入到 1 位精度的数字。
主程序
import math # ✅ round number to 1 decimal place result_1 = round(2.5678, 1) print(result_1) # 👉️ 2.6 result_2 = round(2.1234, 1) print(result_2) # 👉️ 2.1 # ------------------------------------- # ✅ print a float rounded to 1 decimal my_float = 2.5678 my_str_1 = f'{my_float:.1f}' print(my_str_1) # 👉️ '2.6' # ------------------------------------- # ✅ round DOWN float to 1 decimal place def round_down_float_to_1_decimal(num): return math.floor(num * 10) / 10 print(round_down_float_to_1_decimal(2.6789)) # 👉️ 2.6 # ------------------------------------- # ✅ round UP float to 1 decimal place def round_up_float_to_1_decimal(num): return math.ceil(num * 10) / 10 print(round_up_float_to_1_decimal(2.6123)) # 👉️ 2.7
round函数采用以下 2 个参数:
姓名 | 描述 |
---|---|
number |
要舍入到ndigits 小数点后精度的数字 |
ndigits |
小数点后的位数,运算后的数字应该有(可选) |
该
round
函数返回四舍五入到小数点后的精度的数字。 ndigits
如果ndigits
省略,函数返回最接近的整数。
主程序
print(round(1.56789, 1)) # 👉️ 1.6 print(round(1.56789)) # 👉️ 2
如果需要打印四舍五入到小数点后两位的浮点数,请使用格式化字符串文字。
主程序
my_float = 2.5678 my_str_1 = f'{my_float:.1f}' print(my_str_1) # 👉️ '2.6'
格式化字符串文字 (f-strings) 让我们通过在字符串前加上
f
.主程序
my_str = 'is subscribed:' my_bool = True result = f'{my_str} {my_bool}' print(result) # 👉️ is subscribed: True
确保将表达式括在大括号 –{expression}
中。
我们还能够在 f 字符串的表达式中使用
格式规范迷你语言
。
主程序
my_float = 6.456789 result_1 = f'{my_float:.1f}' print(result_1) # 👉️ '6.5' result_2 = f'{my_float:.2f}' print(result_2) # 👉️ '6.46' result_3 = f'{my_float:.3f}' print(result_3) # 👉️ '6.457'
花括号之间的f
字符代表定点表示法。
该字符将数字格式化为小数点后具有指定位数的十进制数。
在 Python 中将数字向下舍入到小数点后一位
要将数字向下舍入到小数点后一位:
- 调用该
math.floor()
方法,将数字乘以 传递给它10
。 - 将结果除以
10
。 - 计算结果将是四舍五入到小数点后一位的浮点数。
主程序
import math def round_down_float_to_1_decimal(num): return math.floor(num * 10) / 10 print(round_down_float_to_1_decimal(2.6789)) # 👉️ 2.6
math.floor方法返回小于或等于提供的数字的最大整数。
主程序
import math print(math.floor(6.999)) # 👉️ 6 print(math.floor(6.001)) # 👉️ 6
如果传入的数字有小数部分,该
math.floor
方法会将数字向下舍入。这是一个将数字向下舍入到小数点后 1 位的分步示例。
主程序
import math print(4.567 * 10) # 👉️ 45.67 print(4.1234 * 10) # 👉️ 41.234 print(math.floor(4.567 * 10)) # 👉️ 45 print(math.floor(4.1234 * 10)) # 👉️ 41 print(math.floor(4.567 * 10) / 10) # 👉️ 4.5 print(math.floor(4.1234 * 10) / 10) # 👉️ 4.1
我们首先将数字乘以
10
然后除以将小数点左右移动 1 位,这样就可以处理十位了。 10
math.floor()
这是一个两步过程:
- 将数字乘以
10
并将结果向下舍入到最接近的整数。 - 将结果除以
10
将浮点数向下舍入到小数点后一位。
在 Python 中将数字四舍五入到小数点后一位
将数字四舍五入为小数点后一位:
- 调用该
math.ceil()
方法,将数字乘以 传递给它10
。 - 将结果除以
10
。 - 计算结果将是四舍五入到小数点后一位的浮点数。
主程序
import math def round_up_float_to_1_decimal(num): return math.ceil(num * 10) / 10 print(round_up_float_to_1_decimal(2.6123)) # 👉️ 2.7
math.ceil方法返回大于或等于提供的数字的最小整数。
主程序
import math print(math.ceil(18.001)) # 👉️ 19 print(math.ceil(18.999)) # 👉️ 19
如果传入的数字有小数部分,该math.ceil
方法会将数字向上舍入。
下面是一个将浮点数四舍五入到小数点后一位的分步示例。
主程序
import math print(2.6123 * 10) # 👉️ 26.122999999999998 print(4.1234 * 10) # 👉️ 41.234 print(math.ceil(2.6123 * 10)) # 👉️ 27 print(math.ceil(4.1234 * 10)) # 👉️ 42 print(math.ceil(2.6123 * 10) / 10) # 👉️ 2.7 print(math.ceil(4.1234 * 10) / 10) # 👉️ 4.2
我们先将数字乘以
10
然后除以将小数点左右移动 2 位,这样就可以处理十位了。 10
math.ceil()
这是一个两步过程:
- 将数字乘以
10
并将结果四舍五入到最接近的整数。 - 将结果除以
10
将浮点数四舍五入到小数点后 2 位。