Конвертация Int64 с разделителем групп разрядов: неужели?!)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

avmaksimov писал(а):Суть проблемы в том, что максимальное значение Int64 - 9 223 372 036 854 775 807, а при любом преобразовании в число с плавающей точкой цифра 7 пропадает и остаётся только: 9 223 372 036 854 775 800 .
Если речь идёт про 64-битную винду, то всё очень просто: в ней Extended отображается на Double и соответственно может содержать не более 16-17 значащих цифр.
RRYTY
постоялец
Сообщения: 266
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

iskander писал(а):Если речь идёт про 64-битную винду, то всё очень просто: в ней Extended отображается на Double и соответственно может содержать не более 16-17 значащих цифр.
А вот в XP-32 все чУдно - работает без потерь.
Seenkao
энтузиаст
Сообщения: 578
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

RRYTY писал(а):А вот в XP-32 все чУдно - работает без потерь.
может потому что там 80-ти разрядное число, а не 64-х?
RRYTY
постоялец
Сообщения: 266
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

Радует, что родной линукс работает как надо.
XP это уже анахронизм, под него софт делается только для обратной совместимости.
Остается признать, что девиз Lazarus "write once, compile anywhere" пока только девиз. И внимательнейшим образом тестировать все, что делается для виндопользователей.
iskander
энтузиаст
Сообщения: 630
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Дело вовсе не в XP, 32-битное приложение будет работать с Extended и на современных виндах.
RRYTY
постоялец
Сообщения: 266
Зарегистрирован: 25.12.2021 09:00:32

Сообщение RRYTY »

iskander писал(а):Дело вовсе не в XP, 32-битное приложение будет работать с Extended и на современных виндах.
Согласен. Но поставлять пользователю 32-битное приложение для 64-битной системы нехорошо.
Ответить