Привет всем !
Столкнулся с интересной комбинацией при форматировании сумм.
Предположим, есть некоторая сумма в формате DECIMAL.
Например: Credit = 5490000000.00 ! (пять миллиардов ...)
Теперь форматируем ее с разной разрядностью шаблона:
Format(Credit,@n16.2b) = "5,490,000,000.00" ! Правильно
Format(Credit,@n15.2b) = "5490,000,000.00" ! Не правильно
Второй вариант является неправильным, я столкнулся с проблемой
при распарсивании этой суммы в формат MANY MS SQL. Уже если
число не помещается в разрядную сетку - заблокировали бы его
в "**** ..." как обычно. К чему это изменение структуры формата ... ?
Или я не прав ?
Косяк или показалось ?
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Игорь Столяров
Дед Пахом
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Пока есть возможности не отображая некоторые незначащие символы отобразить "правильно" число - Кларион будет убирать запятые.
Только после того как Вы введете число 5490000000000.00, при форматировании будет выведено ############.##
Вот так то!
С одной стороны верно. С другой нет...
Только после того как Вы введете число 5490000000000.00, при форматировании будет выведено ############.##
Вот так то!
С одной стороны верно. С другой нет...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Admin
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Игорь Столяров
Admin
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Когда стала понятна причина "проблемы", то ее легко устранили простым увеличением разрядности FORMAT.
Здесь скорее был вопрос о странности поведения функции FORMAT.
Я например, в документации не нашел, что выходной формат числа может быть изменен при предельных значениях разрядной сетки форматирования. Да и пока это все "крутится" внутри программы - проблемы нет (Format & Deformat). Косяк возник при распарсивании такой строки с числом в MS SQL - он то не в курсе таких особенностей форматирования ...
Здесь скорее был вопрос о странности поведения функции FORMAT.
Я например, в документации не нашел, что выходной формат числа может быть изменен при предельных значениях разрядной сетки форматирования. Да и пока это все "крутится" внутри программы - проблемы нет (Format & Deformat). Косяк возник при распарсивании такой строки с числом в MS SQL - он то не в курсе таких особенностей форматирования ...

Игорь Столяров
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)