Я пытаюсь понять объяснение принуждения для удвоений:
as.logical(c(-1, -0.01, 0, 0.01, 0.1,1:10))
#> [1] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#> [12] TRUE TRUE TRUE TRUE
Я вижу, что принуждение происходит на скаляре (знак не имеет значения) и
что только ровно 0 принуждается к FALSE
. Я был удивлен этим,
кажется, нет понятия "ближе всего..." или округления до 0L или 1L.
Мне любопытно, почему.
Я старался охотиться за пониманием здесь но без успеха.
Я также рассмотрел этот связанный вопрос.
Может кто-нибудь объяснить, почему я должен ожидать, что каждое из указанных выше значений принуждать, как и они?