|
Парсер форматной строки хочу | ☑ | ||
---|---|---|---|---|
0
Garykom
гуру
22.03.20
✎
22:21
|
Понадобился сабж для анализа/парсинга форматной строки.
В смысле на входе есть форматная строка (которая как в функции "Формат" и "Конструктор форматной строки"). И надо разобрать программно сколько в ней указано знаков после запятой, какой разделитель и т.д. Самому ваять гм, может уже готовая функция есть где? Которая структуру возвращает по входящей форматной строке. |
|||
1
NcSteel
22.03.20
✎
22:27
|
А через выполнить не проще?
|
|||
2
Garykom
гуру
22.03.20
✎
22:31
|
(1) Думаю ты не понял.
Мне надо редкостный изврат сделать в плане показывать числа целые без нулей сзади, а вот если дробные то с нужным числом знаков после запятой до последнего значащего. 1,000 надо показать как 1 1,0100000 надо показать как 1,01 1,0000000 надо показать как 1 1,1000000 как 1,1 и т.д. |
|||
3
Garykom
гуру
22.03.20
✎
22:32
|
(2)+ И не просто показать а свой диалог ввода наваять в т.ч. дробных чисел
|
|||
4
NcSteel
22.03.20
✎
22:37
|
(2) Ты говоришь, что есть форматная строка, которую надо разобрать. Но зачем непонятно.
И зачем разбирать, если просто возьми число и по форматной строке получи число строкой. И показывай пользователю |
|||
5
Garykom
гуру
22.03.20
✎
22:42
|
(4) Есть форматная строка "ЧДЦ=3; ЧРД=,"
Мне надо узнать что КоличествоЗнаков=3 и что РазделительДробной="," остальное не важно. Парсер готовый есть? |
|||
6
Garykom
гуру
22.03.20
✎
22:43
|
(5)+ Потому что я буду динамически менять ФорматРедактирования для поля, сам конструируя форматную строку по нужным параметрам.
|
|||
7
Сияющий в темноте
22.03.20
✎
23:04
|
Я делал проще,везде,где числа использовал тип Число:Целая.Дробная
и писал преобразование в конструктор описания типа и обратно-остальное,нафиг не нужно,в принципе,так как форматная строка задает много чего лишнего,например,как выводить ноль. |
|||
8
takefive
22.03.20
✎
23:12
|
НСтр("ЧДЦ=3; ЧРД=,", "ЧРД")
|
|||
9
RomanYS
22.03.20
✎
23:48
|
(8) красиво
|
|||
10
Garykom
гуру
22.03.20
✎
23:54
|
(8) Грязный хак.
Но надо проверить что возвращает если нет такого "кода языка". И очень некрасиво если все "коды языков" = параметрам в форматной строке пробовать получить. |
|||
11
RomanYS
23.03.20
✎
00:00
|
(10)
1. Возвращает пустую строку 2. Не понял |
|||
12
Garykom
гуру
23.03.20
✎
00:07
|
(11) 2. Я не знаю сколько там параметров в форматной строке, мне надо все получить.
с НСтр придется все перепробовать: ЧРД = НСтр("ЧДЦ=3; ЧРД=,", "ЧРД"); ЧДЦ = НСтр("ЧДЦ=3; ЧРД=,", "ЧДЦ"); //и т.д. |
|||
13
D_E_S_131
23.03.20
✎
11:27
|
(10) СтрРазделить() вроде бы не хак, а как раз для этого.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |