我正在尝试用Python复现一些Visual Basic代码。我有一个函数,它生成一个分数(double),并将其转换为整数,如下所示:
Dim random_int As Integer
Dim rounded_int As Integer
random_int = CInt(Math.Ceiling(Rnd() * n)) + 1
rounded_int = CInt(random_int/2)
CInt()
能将双精度浮点值四舍五入为最接近的整数。然而当值为0.5时,结果似乎是随机的,有时向上取整,有时向下取整。这使得代码难以测试。在Python(2.7)中,该数字总是朝着同一个方向进行舍入。
我可以添加或减去一个小数值(例如0.1),但原始代码不应更改。
这种行为是正常的,还是我可以以某种方式控制它?