#0
by SeiOkami
Всем добра! Есть ли где-нить функция, которая бы такие строки: 1000000.01 1,000,000.01 1 000 000,01 1 000 000.01 1.000.000,01 1000000,01 1,000,000,01 1.000.000.01 преобразовала в число 1000000.01 (миллион и одна сотая) Понятно, что можно написать, но, вдруг уже где-то подходящее есть. Поисковик мне не помог (
#3
by sintez1234
Есть такая функция - это я! :) У меня из всех строк получилось именно 1000000.01 в итоге. Возмешь меня на работу? :)
#5
by sintez1234
Вот из этой строки 1,000,000,01 программно получить 1000000.01 будет затруднительно очень.
#7
by SeiOkami
, с ежедневной нагруженостью пару тысяч строк и зарплатой равной нулю При этом ответ на запрос не должен превышать секунды =)
#21
by sintez1234
фигня, я вчера опять биржевого бота на 1с пилил, с шифрованием по SHA-512 подписью по нему же, работает по API сервера биржи, без использования никакого вспомогательного языка или приблуд, чистый 1с только. Я выйграл :P
#22
by MSII
Почему? Если нет разделителя - это целое число. Понятно, что нужен массив возможных разделителей.
#30
by shpioleg
А что с ним? Проверить справа разделитель, заменить все разделители на ничто и собрать строку с дробной частью. ИМХО, меньше 10 строк.
#31
by Garykom
что низзя символы из строки по Для Каждого получить? дык я сча в режиме C# в связи с CodeHockey ))
#37
by Garykom
1 насчет "йх" не понял 2 все ясно это 1 у меня последний разделитель это дробная часть так что все ясно ))
#40
by Ёпрст
+36, хоть и группировка триад в дробной части, как правило, отсутствует, но мало ли, найдутся извращенцы, для которых
#45
by MSII
Тогда пипец котенку, ибо разделитель дробной части может и выглядеть как разделитель групп и пахнуть как разделитель групп.
#47
by Котокот
А че там сложного? Берешь константы К1="0123456789" и К2=".,", начинаешь просматривать свою строку начиная с последнего символа, справа налево. Если символ принадлежит К1, то оставляешь его, если принадлежит К2 и это первый встретившийся такой символ, то заменяешь на ",", иначе удаляем (таким образом оставляем последний разделитель дробной части). Если не принадлежит ни К1, ни К2 - удаляем. В итоге имеем строку, состоящую только из цифр и с первым с правого края разделителем, замененным на ",". Далее функция Число.
#52
by Ёпрст
разделитель триад будет зпт, к примеру, число не дробное - твой алгоритм из целого числа сделает дробное.. занавес
#54
by Garykom
про не дробные числа, ну ка, где в постановке задачи есть такие? давайте уже правильно читать ТЗ...
#60
by Ёпрст
ну вы што ? "Всехавающая функция преобразования строки в число" не должна делать такие примитивные умозаключения ????
#63
by PR
Ну ты как всегда в своем репертуаре. В сабже с большой долей вероятности речь про суммы. 99.99% случаев для сумм — 0, 1 или 2 знака после запятой.
#64
by vde69
ну всеохватывающей - сделать в принцепе нельзя, по тому как в некоторых случаях будет множественность решений. я-бы пошел по пути "обучения", там где вариант один - сразу ответ, там где несколько запомнинал выбраный пользователем правильный формат
#67
by vde69
то есть алгоритм такой 1. заполняем соответствие возможных ваинтов "формат"-"значение", если результат один - он и есть ответ 2. дальше ищем "форматы" в базе знаний, если есть совпадение - значит он и есть ответ 3. совпадения формата нет - спрашиваем пользователя....
#70
by Garykom
во 100% решение, только еще бы контекст учитывать, когда формат один а ответов нескоко )) т.е. не спрашивать лишний раз
#71
by Garykom
т.е. банально расширить формат на не одно число а на набор чисел-строк (если список дают) или откуда вызывают к примеру ))
#75
by vde69
в базе хранится только интерактивные ответы пользователя, то есть это обучающийся алгоритм, и в принцепе не так сложно реализовать.
#78
by Garykom
не не, надо не так, сделать веб-сервис с техподдержкой девочек которые там сидят типа вызываем функцию и она все делает сама (для пользователя-программиста) - ну да некоторые долго думает, пока оператор на поддержке вебсервиса отработает :))
#80
by PR
Решение в соответствии с ТЗ не означает максимальную удовлетворенность клиента. А вот получение денег максимальная удовлетворенность клиента означает.
#87
by cathode
Еще давно, где-то году в 2006, я делал на 8.0 функцию преобразования строки в число, максимально совместимую с той, которая используется в 7.7. Сейчас посмотрел ее на указанных данных, работает. Чуть модифицировал для дробных/недробных с одинаковым разделителем десятичной части и разделителем триад. Достоинства: * По умолчанию все нечисла превращаются в 0 (как в 7.7) * Отбрасывается правая нечисловая часть, типа "123.45 р." (как в 7.7) * Корректно обрабатывает все варианты из , т.е. почти всеядная. Недостатки: * Будет пытаться преобразовать в число даже нечисловые значения, содержащие цифры. Например, IP-адреса ("192.168.100.123" преобразуется в 192168100,123). * Не проверяет консистентность группировки разрядов ("356 23 1234" преобразуется в 356231234). Может, кому нужна будет...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- ТЗ. Удаление строки сдвигает строки?
- Операции преобразования строки в число в Запросе
- СКД Вычисляемое поле. Функция из общего модуля. Ошибка: Функция не найдена
- Динамический список - выделенные строки - суммирование содержимого строки..
- Функция ПечатьТОРГ12(БезУслуг = Ложь) , где функция печать с услугами ?
- преобразования строки в число в запросе
- Таблица Значений отбор по индексу, номеру строки, как найти строки 1-100
В этой группе 1С
- Конвертация данных курс Гилева Е.
- Размножаются сеансы 1С 8.3.4.482 и расходуются свободные лицензии
- Как сохранить печатную форму отчета с двухмерным штрихкодом PDF417 в pdf или jpg
- Что слышно: будет ли поддержка БП 2.0 в следующем году?
- Возврат товаров поставщику БП 2.0
- v7: Запрет редактирования реквизита табличной части документа
- как установить курсор на строке тч документа
- В свойствах номенклатуры (1С8.3) при выборе типа сво-ва строка макс. длинна 50
- Связать набор данных объект и набор данных запрос В СКД
- v7: ТиС и МОД от ПИБИ. База приемник не принмает изменения из файла выгрузки.
- Отличие в экселе функций СТАНДОТКЛОН от СТАНДОТКЛОН.Г
- УТ 10.3 резервы товара в ведомости по партиям товара на складах
- Зависает Word на методе open() 1C 8.3
- URLDecode для 1с 8
- Долгое соединение с веб - сервисом 1С 8.2
- Закрыть сеанс регламентного задания.
- Выбор программы БИТ УМЦ или 1С:Поликлиника
- Создание из 1С новой БД на сервере Firebird с помощью драйвера ODBC
- Бонусные карты в УТ 10.3
- Как в УТ 10.3 закрывать автоматический в ПП входящие по документам реализации?