Привет всем !
Столкнулся с интересной комбинацией при форматировании сумм.
Предположим, есть некоторая сумма в формате 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 который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Пока есть возможности не отображая некоторые незначащие символы отобразить "правильно" число - Кларион будет убирать запятые.
Только после того как Вы введете число 5490000000000.00, при форматировании будет выведено ############.##
Вот так то!
С одной стороны верно. С другой нет...
Только после того как Вы введете число 5490000000000.00, при форматировании будет выведено ############.##
Вот так то!
С одной стороны верно. С другой нет...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
- Игорь Столяров
- Ветеран движения
- Сообщения: 8076
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Когда стала понятна причина "проблемы", то ее легко устранили простым увеличением разрядности FORMAT.
Здесь скорее был вопрос о странности поведения функции FORMAT.
Я например, в документации не нашел, что выходной формат числа может быть изменен при предельных значениях разрядной сетки форматирования. Да и пока это все "крутится" внутри программы - проблемы нет (Format & Deformat). Косяк возник при распарсивании такой строки с числом в MS SQL - он то не в курсе таких особенностей форматирования ...
Здесь скорее был вопрос о странности поведения функции FORMAT.
Я например, в документации не нашел, что выходной формат числа может быть изменен при предельных значениях разрядной сетки форматирования. Да и пока это все "крутится" внутри программы - проблемы нет (Format & Deformat). Косяк возник при распарсивании такой строки с числом в MS SQL - он то не в курсе таких особенностей форматирования ...
