当一个输入为浮点数时, // 运算符将返回浮点数。文件说它进行整数除法,返回下限

问题描述 投票:0回答:1

在此处复制的 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 math operation floor
1个回答
1
投票

这个答案与python 3有关。

PEP 238中所写,

a//b
会首先将
a
b
强制转换为相同类型,然后以相同类型返回楼层划分。

具体来说,如果

a
b
属于同一类型,则
a//b
也属于该类型。如果输入属于不同类型,则首先使用用于所有其他算术运算符的相同规则将它们强制为通用类型。

对于浮点输入,结果是浮点数。例如:

3.5//2.0 == 1.0

这意味着虽然

//
运算符会执行向下除法,但返回值不一定是整数类型。

相比之下,

math.floor()
函数将始终返回整型。

© www.soinside.com 2019 - 2024. All rights reserved.