[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Погрешность арифметических операций в Lua  XML
Индекс форума » LUA: Общие вопросы
Автор Сообщение
XNut
ГУРУ
[Avatar]

Зарегистрирован: 15/04/2008 12:12:47
Сообщений: 106
От: Россия, Липецк
Оффлайн

Не давно столкнулся с такой проблемой

а я то всегда считал, что в Lua сам корректирует результат арифметических операций

Будьте осторожны
z00n
Постоянный посетитель

Зарегистрирован: 15/02/2008 12:15:56
Сообщений: 96
Оффлайн

А чего вы ожидали и причем тут lua?
XNut
ГУРУ
[Avatar]

Зарегистрирован: 15/04/2008 12:12:47
Сообщений: 106
От: Россия, Липецк
Оффлайн

Как при чем тут Lua?
Я говорю, что он такой же, как и все
Setuper
Постоянный посетитель

Зарегистрирован: 02/02/2008 21:15:26
Сообщений: 46
От: Korolev, Moscow region
Оффлайн

Ну так это же естественно. Ведь тип числа в lua, определён как "сишный" тип double.



А почему тип double себя так ведёт, то это связано с машинным хранением числа с плавающей точкой.

Lua
Erendir
Новичок

Зарегистрирован: 17/04/2009 02:52:48
Сообщений: 10
Оффлайн

избегайте вычитания близких друг другу чисел.
repeat
Постоянный посетитель
[Avatar]

Зарегистрирован: 13/02/2008 04:42:48
Сообщений: 77
Оффлайн

придётся преобразовывать

формировать вывод результаты до значимого разряда после запятой
для разности число с большим кол-вом разрядов после запятой определит их кол-во и для результирующего числа

или проще
print(string.format("%f\n",(0.05-(0.06-0.01))))

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 20/03/2010 00:18:43

[WWW] [ICQ]
 
Индекс форума » LUA: Общие вопросы
Перейти:   
Powered by JForum 2.1.8 © JForum Team