Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
Всем добрый вечер, возможно ли такое стандартными функциями форматирования если изначально известно количество знаков после запятой или расположение разделителей в дате. Но ни те ни другие там не стоят. Понятно что можно иx туда программно вставить и потом форматировать. Интересна возможность сделать полное переформатирование не имея разделителей в исходном тексте стандартными функциями delphi. И как бы выглядела тогда их строка формата. Спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 00:08 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun, Такая функция существует и называется SubString. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 00:43 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun, может регулярки помогут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 01:01 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
makhaon hlopotun, может регулярки помогут? помогут, думал может есть что попроще. С регулярками каждый раз как в первый класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 01:03 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 13:18 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun, у вас на входе - число (какого типа) или строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2021, 13:21 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
andreymx, на входе строки. Это попытка универсально описать процесс конвертации входящих данных при их сохранении в базе. Типа пользователь указывает какое поле в какое поле сохранять и как его при этом конвертировать. Конечно с регулярками самое правильное решение но заставлять конечного пользователя с ними разбираться будет неправильно. Какая конвертация понадобится заранее неизвестно. Поэтому, скорее всего прийдётся изобретать велосипед с масками вида: +*AB -> *,AB ABCDEFGH -> GH.EF.ABCD где каждый символ в маске исходной имеет такой же символ в маске целевой и на основе его позиции делать перестановку. Нужно что то с чем конечный пользователь способен разобраться. Большой сложности при конвертации не ожидается, простая перестановка местами и вставка разделителей в нужных местах. Регулярки тут явно всё усложнят. Народ не поймёт (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 18:02 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun, Стандартный вопрос 03.02.11 - это какая дата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 18:04 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotunНарод не поймёт (c) Делай как в Ёкселе: "эта хрень - число, а эта - дата", дальше сам разберёшься. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 18:05 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
andreymx hlopotun, Стандартный вопрос 03.02.11 - это какая дата? подразумевается что конечный пользователь знает какая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 18:08 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun помогут, думал может есть что попроще. С регулярками каждый раз как в первый класс. Была бы sscanf ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2021, 18:56 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun andreymx hlopotun, Стандартный вопрос 03.02.11 - это какая дата? подразумевается что конечный пользователь знает какая. Тогда храните как есть, раз уж ПО не должно знать формат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 14:17 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
StrToDateTime StrToFloat Оба метода принимают FormatSettings. Создаем копию настроек через FormatSettings.Create, после чего настраиваем формат даты и плавающей точки (единственное, надо пробелы убрать из суммы, если будут). А дальше через try ... except on e: exception ... end; Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 14:24 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
JayDiА дальше через try ... except on e: exception ... end; Ну-ну, удачи тебе с различением yy/mm/dd, dd/mm/yy и mm/dd/yy через исключения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 14:26 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Ну-ну, удачи тебе с различением yy/mm/dd, dd/mm/yy и mm/dd/yy через исключения. Догадками занимается делфи. А исключение -- это ошибка, т.е. дальше мы ничего не должны обрабатывать или пытаться угадать, а тупо должны сообщить пользователю, что он неверно указал формат данных. Вроде именно в этом и была первоначальная задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 14:30 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
JayDi Код: pascal 1. Если что - там может быть не пробел, а символ похожий на пробел, но с другим кодом. Код не помню. Сам накалывался на это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 18:58 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
fraks JayDi Код: pascal 1. Если что - там может быть не пробел, а символ похожий на пробел, но с другим кодом. Код не помню. Сам накалывался на это. Код 160 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 19:52 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
fraks Если что - там может быть не пробел, а символ похожий на пробел, но с другим кодом. Код не помню. Нет, это именно функция StrToFloat игнорирует знак валюты и тысячный разделитель, выдавая исключение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 20:51 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
И это логично, поскольку она для вещественных чисел и использует форматы вещественных чисел, а не денег, у которых совсем другие форматы. Они даже задаются на разных вкладках региональных настроек. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2021, 22:06 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
Уже страницу понаписали, а так и не понятно, с чего вдруг такой кривой ввод, без разделителей. По сабжу: задавать маски. Т.е. юзер должен подсказать программе формат, что-то типа такого Формат входных данных (N - цифры целой части, M - цифры дробной): [-NNNNMM] Пример: [+123456] Результат: [+1234,56] Ну и пресеты, MRU и прочие вспомогатели, чтоб каждый раз не вбивать. Превьюшка результата очень желательно, чтобы не кидать в юзера ошибками после начала импорта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2021, 11:32 |
|
||
|
Число вида +123123 сформатировать в 1231,23. Дату 20210124 в 24.01.2021
|
|||
|---|---|---|---|
|
#18+
hlopotun andreymx, на входе строки. Это попытка универсально описать процесс конвертации входящих данных при их сохранении в базе. Типа пользователь указывает какое поле в какое поле сохранять и как его при этом конвертировать. Конечно с регулярками самое правильное решение но заставлять конечного пользователя с ними разбираться будет неправильно. Какая конвертация понадобится заранее неизвестно. Поэтому, скорее всего прийдётся изобретать велосипед с масками вида: +*AB -> *,AB ABCDEFGH -> GH.EF.ABCD где каждый символ в маске исходной имеет такой же символ в маске целевой и на основе его позиции делать перестановку. Нужно что то с чем конечный пользователь способен разобраться. Большой сложности при конвертации не ожидается, простая перестановка местами и вставка разделителей в нужных местах. Регулярки тут явно всё усложнят. Народ не поймёт (c) В М системах такая функция называется $translate(source,from,to) Функция заменяет в исходной строке символы указанные во втором параметре на символы из третьего параметра в той же позиции. Если в третьем параметре нет такой позиции то заменяет на пустую строку. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. В вашем случае задаются маски для From и Source. А на что заменять - это символы из исходной строки To. В вашем случае нужен как-бы replace наоборот - исходная строка 20210124 задает на что нужно заменить, Source задает формат с разделителями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2021, 11:43 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40057537&tid=2037445]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 287ms |

| 0 / 0 |
