Мне собственно нужно максимальное точное число, для параметра, преобразующегося из строки и, если параметр больше чем это число, применить преобразование в bigInt.
Максимальная точность и IEEE754 вещи несовместимые. Как уже было замечено, для чисел с плавающей точкой существует погрешность. Она зависит от того, насколько велико число. Если число мало, то и погрешность будет на уровне 10^-15. Если же Вы оперируете числами порядка 10^50, то будьте готовы к тому, что погрешность будет больше 1 (что и произошло в Вашем примере).