![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FloatToStr(n) '.' и ',' [D7, WinXP]
Zheksonz © (2008-09-25 10:51:00)Почему на разных компьютерах ф-ция FloatToStr выдаёт разный разделитель дробной части - '.' и ',' ???
Zhekson (2008-09-25 11:36:00) [21]Поросенок Винни-Пух © (25.09.08 11:17) [23]
ты с кем сейчас разговариваешь??? публика уже тебя не замечает ;)
да всё проще намного... Есть некие табличные данные, которые я гружу в StringGrid и сохраняю в файл, который могу потом открыть на другом компе с другими региональными стандартами, вот тогда и могла бы всплыть эта неувязочка. Но если изначально заложить какой-то стандарт в рамках программы, то проблеммы не будет.
Поросенок Винни-Пух (2008-09-25 11:35:00) [22]не поможет не сам xml, а то, что там никто не создает средств для его поддержки.
MsGuns (2008-09-25 11:32:00) [23]хатмель не поможет при переносе данных между "старыми" и новыми системами. Например, между IBM 360/370 - 390 и современными ПК-подобными
Поросенок Винни-Пух (2008-09-25 11:31:00) [24]ничо ничо. с возрастом ты его полюбишь.
Ega23 (2008-09-25 11:26:00) [25]
> Для обмена данными в текстовом виде между "разнородными"
> средами используются т.н. макеты, где вообще нет разделителей,
> а имеется макет, т.е. жестко определенные символ начала
> и кол-во символов каждого реквизита, а также кол-во целых
> и дробных цифр чисел, формат даты и т.д.
> Макет задается жестко и обрабатывается одинаково в системе-
> "донор" и системе-"реципиенте"
Это и есть ненавистный мне xml. Точнее, то, ради чего он задумывался и где его действительно можно как-то терпеть - универсальный протокол обмена метаданными в различных системах.
Ega23 (2008-09-25 11:24:00) [26]
> Значит, что хранить числовые данные в текстовом виде - ронять
> себе на ногу топор.
Можно и не ронять. Если ещё дополнительно тип данных указать, чтобы сериализация нормально прошла.
Как пример - ненавистный мне xml.
MsGuns (2008-09-25 11:24:00) [27]Для обмена данными в текстовом виде между "разнородными" средами используются т.н. макеты, где вообще нет разделителей, а имеется макет, т.е. жестко определенные символ начала и кол-во символов каждого реквизита, а также кол-во целых и дробных цифр чисел, формат даты и т.д.
Макет задается жестко и обрабатывается одинаково в системе-"донор" и системе-"реципиенте"
Пример
Фамилия (10) Имя (10) Отчество(10) Дата рождения (8) Оклад(10(8,2))
Иванов____Сидор_____Сидорович_130419870001550000
Для более универсального обмена данными существуют БД под SQL-серверами или платформонезависимые форматы типа хатмеля
Sergey13 (2008-09-25 11:18:00) [28]> [22] Zhekson (25.09.08 11:15)
Значит, что хранить числовые данные в текстовом виде - ронять себе на ногу топор.
Поросенок Винни-Пух (2008-09-25 11:17:00) [29]Почему на разных компьютерах ф-ция FloatToStr выдаёт разный разделитель дробной части - '.' и ',' ???
<Цитата>
--------------------------------------------------------------------------------
Поросенок Винни-Пух © (25.09.08 10:52) [1]
потому что на разных компьютерах он разный
<Цитата>
--------------------------------------------------------------------------------
Zhekson (25.09.08 10:55) [2]
это и так понятно, раз разделитель разный, а вот почему???
<Цитата>
сам вопрос: "почему выдает разный".
причем, почему выдает это и так ему понятно.
после того, как ему и так понятно, следует еще один вопрос : а вот почему???
Zhekson (2008-09-25 11:15:00) [30]
> Ну так ты сам себе злобный буратина
что значит сам себе злобный буратина???
Zheksonz (2008-09-25 11:13:00) [31]
> но во всем виноваты засранцы умники
Умники не виноваты, во всяком случае мне их винить не в чем... а таких как вы винить нет смысла ;)
Sergey13 (2008-09-25 11:11:00) [32]> [13] Zhekson (25.09.08 11:03)
Ну так ты сам себе злобный буратина, а винишь кем то зарытых далеко собак.
Palladin (2008-09-25 11:10:00) [33]аффтор забыл упомянуть, что использует эту функцию для организации обмена данными между приложениями, но во всем виноваты засранцы умники
Поросенок Винни-Пух (2008-09-25 11:08:00) [34]проблема в том, что что сохранив таблчные данные(строковые) а одном компе, невозможно обработать их на другом, т.к. StrToFloat не понимает разделитель другого народа ;)
В общем случае эта проблема не решаема.
Пришла строка от другого народа: '1,000' - что это?
Ровно единица и три нуля после DecimalSeparator?
Или ровно тысяча и разделитель тысяч?
Palladin (2008-09-25 11:07:00) [35]незнал да еще и забыл
KSergey (2008-09-25 11:05:00) [36]А зачем сохранять числа в виде строки?!
Zhekson (2008-09-25 11:05:00) [37]ЮЮ © (25.09.08 11:03) [12]
MsGuns © (25.09.08 11:03) [14]
всё таки есть ещё способные помочь, а не умничать, люди!!! Спасибо!!!
именно эту ф-цию я забыл(((
MsGuns (2008-09-25 11:03:00) [38]Глобальная переменная DecimalSeparator
ЮЮ (2008-09-25 11:03:00) [39]> а есть специализированная пилюля под это разногласие???
DecimalSeparator + F1 слегка подсластят жизнь.
Zhekson (2008-09-25 11:03:00) [40]проблема в том, что что сохранив таблчные данные(строковые) а одном компе, невозможно обработать их на другом, т.к. StrToFloat не понимает разделитель другого народа ;)