Решил доработать один проект и перевести целое число типа Int64 в строку с разделителем. И вот любимый формат тут не поможет, ибо "%n" жаждет чего-то с точкой. Все остальные решения не далеко ушли (FloatToStrF c ffNumber). Суть проблемы в том, что максимальное значение Int64 - 9 223 372 036 854 775 807, а при любом преобразовании в число с плавающей точкой цифра 7 пропадает и остаётся только: 9 223 372 036 854 775 800 .
Казалось бы подумаешь, потерялась бы семёрка, но мой перфекционизм не даёт покоя. Неужели нельзя никак решить задачу, кроме IntToStr и далее вручную разбивать через разделитель строки? Т.е. существующего решения нет?
UPD. Потеря значащих знаков только на Windows. На Linux не воспроизводится, но не теряет актуальности момент отсутствия готового решения или только костыль с Float.