Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Парсер форматной строки хочу

Парсер форматной строки хочу
Я
   Garykom
 
22.03.20 - 22:21
Понадобился сабж для анализа/парсинга форматной строки.

В смысле на входе есть форматная строка (которая как в функции "Формат" и "Конструктор форматной строки").
И надо разобрать программно сколько в ней указано знаков после запятой, какой разделитель и т.д.

Самому ваять гм, может уже готовая функция есть где?
Которая структуру возвращает по входящей форматной строке.
   NcSteel
 
1 - 22.03.20 - 22:27
А через выполнить не проще?
   Garykom
 
2 - 22.03.20 - 22:31
(1) Думаю ты не понял.
Мне надо редкостный изврат сделать в плане показывать числа целые без нулей сзади, а вот если дробные то с нужным числом знаков после запятой до последнего значащего.

1,000 надо показать как 1
1,0100000 надо показать как 1,01
1,0000000 надо показать как 1
1,1000000 как 1,1
и т.д.
   Garykom
 
3 - 22.03.20 - 22:32
(2)+ И не просто показать а свой диалог ввода наваять в т.ч. дробных чисел
   NcSteel
 
4 - 22.03.20 - 22:37
(2) Ты говоришь, что есть форматная строка, которую надо разобрать. Но зачем непонятно.
И зачем разбирать, если просто возьми число и по форматной строке получи число строкой. И показывай пользователю
   Garykom
 
5 - 22.03.20 - 22:42
(4) Есть форматная строка "ЧДЦ=3; ЧРД=,"

Мне надо узнать что КоличествоЗнаков=3 и что РазделительДробной="," остальное не важно.

Парсер готовый есть?
   Garykom
 
6 - 22.03.20 - 22:43
(5)+ Потому что я буду динамически менять ФорматРедактирования для поля, сам конструируя форматную строку по нужным параметрам.
   Сияющий в темноте
 
7 - 22.03.20 - 23:04
Я делал проще,везде,где числа использовал тип Число:Целая.Дробная
и писал преобразование в конструктор описания типа и обратно-остальное,нафиг не нужно,в принципе,так как форматная строка задает много чего лишнего,например,как выводить ноль.
   takefive
 
8 - 22.03.20 - 23:12
НСтр("ЧДЦ=3; ЧРД=,", "ЧРД")
   RomanYS
 
9 - 22.03.20 - 23:48
(8) красиво
   Garykom
 
10 - 22.03.20 - 23:54
(8) Грязный хак.

Но надо проверить что возвращает если нет такого "кода языка".
И очень некрасиво если все "коды языков" = параметрам в форматной строке пробовать получить.
   RomanYS
 
11 - 23.03.20 - 00:00
(10)
1. Возвращает пустую строку
2. Не понял
   Garykom
 
12 - 23.03.20 - 00:07
(11) 2. Я не знаю сколько там параметров в форматной строке, мне надо все получить.

с НСтр придется все перепробовать:

ЧРД = НСтр("ЧДЦ=3; ЧРД=,", "ЧРД");
ЧДЦ = НСтр("ЧДЦ=3; ЧРД=,", "ЧДЦ");
//и т.д.
   D_E_S_131
 
13 - 23.03.20 - 11:27
(10) СтрРазделить() вроде бы не хак, а как раз для этого.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.