Задать вопрос
Mat1lda
@Mat1lda

8 != 8.0 в Erlang — Почему так?

8.0 rem 2
Выдаёт ошибку
an error occurred when evaluating an arithmetic expression
     in operator  rem/2
        called as 8.0 rem 2

А
8 rem 2
Возвращает 0!
Почему так? Или нужно сначала продать душу????
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
begemot_sun
@begemot_sun
Программист в душе.
rem это целочисленная операция.
8 - это целое число (int)
8.0 - это дробное число (float).

сравнение по значению:
8> 8 == 8.0.
true
12> 8 /= 8.0.
false

сравнение по значению и типу
9> 8 =:= 8.0.
false
10> 8 =/= 8.0.
true

я рекомендую всегда использовать сравнение по значению и типу .. это надежнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы