Programmir, Дело не в языке, а в самом принципе представления чисел в компьютере. Попробуйте представить число 0.1 конечной записью в двоичной системе.
Хотите высокую точность - используйте GMP, но потеряете скорость вычислений.
FanatPHP, а почему так система построена, что нельзя сделать, чтобы считалось, что по умолчанию идут дальше нули и это самое маленькое число в десятичной дроби? Неужели это так сложно машине объяснить?
D3lphi, я говорю про минусы. что машина не может понять, что после десятичной идут нули. Это недостаток системы. А вы, видимо, считаете это нормальным и не видите проблемы. Для человека это элементарная, очевидная вещь. А если машина не может понять, то неправильно алгоритмы построены. С вашим подходом прогресса ожидать не стоит, так что не позорьтесь.
Programmir, надо же, тысячи лучших инженеров человечества из самых топовых ВУЗов планеты на протяжении десятилетий придумывали и совершенствовали архитектуру вычислительных устройств. Глупцы зря тратили свое время, нужно было просто обратиться к господину Programmir , он бы сделал всё иначе и правильнее, обойдя законы вычислительной математики.
D3lphi, значит, есть просчёты. Вот человеку будет понятно, что 1.4 входит в неравенство вида <=1.4 Но вот видите, машина ошибается и не может разобраться с таким простым неравенством.
Programmir, ошибается не машина, а человек работающий с ней. Чтобы было понятно человеку используйте MathLab. В программировании все несколько иначе, в данном случае вы некорректно используете типы данных, ваши 1.4 после преобразования в тип с плавающей точкой не будут равны значению 1.4. Если вам нужны точные значения не следует использовать этот тип данных или не производить сравнение без указания точности.