将float转换为int并在舍入时引发异常

时间:2017-05-22 15:04:29

标签: python numpy floating-point

例如,我有:

rand.Intn(100)

m1 := [3][3]int{} for i:=0; i<3; i++ { for j:=0; j<3; j++ { m1[i][j] = rand.Int() } } 将是a = np.array(...) a[idx / 3] = 5 ,即使它在该程序中始终具有整数值。这将引发idx / 3或新的Python版本已不再支持。

是否存在将float转换为int的内置函数,如果输入值不是整数,则可以引发异常?或者这样做的正确方法是什么?

我知道这可能会导致一些关于“如何接近”的问题。为一个整数,这就是为什么我要求并且不仅仅信任float / VisibleDeprecationWarning

1 个答案:

答案 0 :(得分:4)

明确:

assert (idx % 3) == 0, "idx must be divisible by 3"
a[idx // 3] = 5