Достаточно такую штуку написать:
float t1;
double t2;
t1=14.143;
t2=14.143;
if (t1==t2)
cout<<t1<<"="<<t2<<endl;
else
cout<<t1<<"!="<<t2<<endl;
Результат будет "!=". Помогло только такое сравнение
Это должно быть связано с отличием представления данных в формате 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 или что-то типа того, а при выводе нам это не показывают.