Что такое NaN во флаттере и чем это вызвано? - PullRequest
0 голосов
/ 14 февраля 2019

Когда я запускаю приложение, в котором иконка, обернутая в Позиционированный, рисуется на контейнере, я получаю сообщение об ошибке, утверждающее, что смещение (Позиционированное влево ) использует значение NaN.Я посмотрел онлайн и обнаружил, что NaN означает не число, но я не смог найти причину этого.Я имею в виду, что если я делю число на ноль, я получаю сообщение об ошибке, в котором говорится, что я не могу разделить число на ноль, но NaN является константой для того, что я понял, и если я умножал число, скажем, для строки I 'я получаю ошибку несовместимых типов вместо NaN.Я не спрашиваю о конкретном для моего кода ответе, поскольку не могу его предоставить, а скорее даю более общее объяснение.

1 Ответ

0 голосов
/ 14 февраля 2019

NaN может быть вызвано делением на переменную, которая не может быть приведена к числу, как указано @JoSSte.Но, как я выяснил опытным путем, Flutter не выдает ошибку при делении на 0, в отличие от python, например, где выбрасывается ZeroDivisionError.Флаттер видит результат деления на ноль как бесконечность или -infinity, когда делит соответственно положительное и отрицательное число на ноль.

Так что это имеет смысл, но в случаях, когда бесконечность не может быть принята как значение (как оно есть), она выдает ошибку, заявляющую, что была ошибка в самой структуре.

...