Показать сообщение отдельно
Старый 23.01.2007, 13:15   #7
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: Математика в Blitz3D

Достаточно такую штуку написать:
        float t1;
	double t2;

	t1=14.143;
	t2=14.143;

	if (t1==t2)
		cout<<t1<<"="<<t2<<endl;
	else
		cout<<t1<<"!="<<t2<<endl;
Результат будет "!=". Помогло только такое сравнение
if (t1==float(t2))
Это должно быть связано с отличием представления данных в формате float и double. От нас что-то скрывают.

Но встает вопрос, почему то же самое творится в блице, если там только float.
x=14.143
b=14.142
b=b+.001

If  x=b
	Print ""+x+"="+b 
Else
	Print ""+x+"<>"+b 
EndIf
Выдает "<>". Тут, похоже, действует прикол блица представлять числа в виде 14.14300001 или 14.14299999 или что-то типа того, а при выводе нам это не показывают.
(Offline)
 
Ответить с цитированием