Перейти к содержанию

проблема в языке программирования lua


Рекомендуемые сообщения

В теме 2 сообщения

Я столкнулся проблемой в языке программирования lua,
что при выполнении этой строки результат равен 0:
print(math.fmod(2 ,2))

А когда выполняется такой цикл:
for i=1, 9, 0.1 do
print(math.fmod(i,2))
end
то когда i достигает значение 2 он выдаёт
такое странное число 8.8817841970013e-16
Я в замешательстве
  (

Ссылка на комментарий
Поделиться на другие сайты

это проблема вычисления дробных чисел
8.8817841970013e-16 очень близко к 0 (0.00000000000000088817841970013)

есть несколько варинатов как это можно исправить:

1) забить, если точность не важна
2) округлить, если точность не важна, но важно чтобы данные не были больше определеного количества знаков после запятой
3) использовать целые числа

Если тебе нужна точность то присмотрить к fortran (язык используется для матиматических вычислений)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...