在此处复制的 shell 脚本中创建了我的示例。
win32 上的 Python 3.12.5 使用浮动股息:
12345.342424 // 1000 12.0
导入数学 数学.floor(12345.342424 / 1000) 12
当除数为浮点数时,结果类似: 12345 // 12.0 1028.0 数学.floor(12345 / 12.0) 1028
上面是我的最小示例。 相关帖子让我确信 // 和 Floor 是同义词。
这个答案与python 3有关。
如PEP 238中所写,
a//b
会首先将a
和b
强制转换为相同类型,然后以相同类型返回楼层划分。
具体来说,如果
和a
属于同一类型,则b
也属于该类型。如果输入属于不同类型,则首先使用用于所有其他算术运算符的相同规则将它们强制为通用类型。a//b
对于浮点输入,结果是浮点数。例如:
3.5//2.0 == 1.0
这意味着虽然
//
运算符会执行向下除法,但返回值不一定是整数类型。
相比之下,
math.floor()
函数将始终返回整型。