Я знаю, что сохранение единственного значения (или двойного) не может быть очень точным. поэтому сохранение, например, 125.12, может привести к 125.1200074788. теперь в delphi их некоторая полезная функция, например samevalue или comparevalue, которые принимают epsilon как param и говорят, что 125.1200074788 или, например, 125.1200087952 равно.single, double и precision
но я часто вижу в кодах такие вещи, как: если aSingleVar = 0, то ... и это на самом деле, как я вижу, всегда работает. Зачем ? почему сохранение в качестве примера 0 в одном var сохраняет точное значение?
Zero является представимым. Сравнение с допуском достаточно просто, но как вы выбираете толерантность? Вам нужно понять алгоритм. Любой совет, даваемый без знания алгоритма, скорее всего, является плохим советом. –