手记

Python 的内置函数 round

Python 的内置函数 round() 用于对浮点数进行四舍五入操作,返回最接近的整数或指定小数位数的浮点数。这个函数在数值处理、金融计算、数据科学等领域有广泛应用。

基本语法

round(number, ndigits)
  • number:需要四舍五入的数字(整数或浮点数)
  • ndigits(可选):保留的小数位数,默认为0(即返回整数)

功能特点

  1. ndigits省略或为0时,返回最接近的整数

    round(3.14)    # 返回 3
    round(3.6)     # 返回 4
    
  2. 可以指定保留的小数位数

    round(3.14159, 2)  # 返回 3.14
    round(1.2345, 3)   # 返回 1.234
    
  3. 对于刚好处于中间值的情况(如0.5),Python 3采用"银行家舍入法"(四舍六入五成双):

    • 当舍入位后一位是5且后面没有其他数字时
    • 舍入位前一位是偶数则舍去,奇数则进位
    round(2.5)     # 返回 2(2是偶数)
    round(3.5)     # 返回 4(3是奇数)
    round(4.5)     # 返回 4(4是偶数)
    

注意事项

  1. 与格式化输出不同,round()返回的是数值对象而非字符串

    type(round(3.1415, 2))  # <class 'float'>
    
  2. 负数同样适用舍入规则

    round(-1.5)    # 返回 -2
    round(-2.5)    # 返回 -2
    
  3. 对于极大或极小的数,可能会返回科学计数法表示

    round(1.2345e20, -18)  # 1.23e+20
    

实际应用场景

  1. 金融计算(金额四舍五入到分)

    amount = 12.3456
    rounded = round(amount, 2)  # 12.35
    
  2. 数据可视化(简化坐标轴刻度标签)

    x = [i*0.1234 for i in range(10)]
    labels = [round(num, 2) for num in x]
    
  3. 成绩计算(四舍五入到整数分)

    scores = [87.4, 92.6, 78.9]
    final_scores = [round(s) for s in scores]  # [87, 93, 79]
    

替代方案

当需要更精确的舍入控制时,可以考虑:

  • math.floor():向下取整
  • math.ceil():向上取整
  • decimal模块:提供更精确的十进制运算
  • 字符串格式化:format()或f-string控制显示格式
0人推荐
随时随地看视频
慕课网APP