Округление чисел с плавающей запятой

Здравствуйте товарищи программисты. Есть вопрос по функции FloatToStrF. Для моей задачи нужно записывать в текстовый файл числа с точностью до 6 знака после запятой, но не в коем случае не округлять их, то есть просто отрезать часть цифр в строке. При использовании функции FloatToStrF число вида -0.0005425 с применением FloatToStrF(x,ffFixed,1,6) округляется до -0.000540 что для моей задачи недопустимо. Так же есть такая проблема: что если просто отрезаю часть строки, то в некоторых случаях очень маленькие числа записываются в виде: 5.55E-5 и соответственно число уже не 5.5 * 10 в -5 степени, а просто 5.5 и уже не переводится обратно с помощью StrToFloat. Есть ли какой-нибудь вариант избавится от записи вида E-5 или функция помимо FloatToStrF. Еще пробовал использовать RoundTo, но в моем Delphi она не работает. Заранее спасибо за ответ.