"R" или "r" Результат с обратной связью: строка, которая может совершать круговое движение до идентичный номер. Поддерживается: Single, Double и BigInteger. Спецификатор точности: Игнорируется.
Поскольку float.ToString() выводит 7-значный префиксный номер по умолчанию, поэтому ваш float.MaxValue, который имеет значение 3.40282347E+38 (9-значная точность), округляется до 3.402823E+38, и ваш чек терпит неудачу из-за того, что, конечно, 3.402823E+38 != 3.40282347E+38.
Если вы явно указали спецификатор формата для вывода float.MaxValue с 9-значной точностью, например. float.MaxValue.ToString("G9"), ваш чек будет успешным.