Как преобразовать строку в число в 1с
Перейти к содержимому

Как преобразовать строку в число в 1с

  • автор:

Преобразование строки в число

Если ТолькоЦифры Тогда
Номер = НомерДок;
ИначеЕсли ПозицияНеЦифровойСимвол < ДлинаНомера Тогда
Номер = Сред(НомерДок, ПозицияНеЦифровойСимвол + 1);
ИначеЕсли ПозицияНеЦифровойСимвол = ДлинаНомера Тогда
Возврат НомерДок;
КонецЕсли;

адаптируя (27) к задаче
ДлинаНомера = СтрДлина(Строка);
ТоЧтоБудетЧислом = "";
Для инд = 1 По ДлинаНомера Цикл

Код = КодСимвола(Строка, инд);

Если Код < 48 ИЛИ Код > 57 Тогда
продолжить;
КонецЕсли;

Как преобразовать строку в число в 1с

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Строка

Описание:

Значения данного типа содержат строку в формате Unicode произвольной длины.

Обратите внимание. Для строки в 1С НЕ доступен обход её символов посредством оператора Для Каждого . Из . Цикл. Также НЕ доступно обращение к отдельным символам посредством оператора [. ]. Взятие отдельного символа строки возможно при помощи специальных функций для работы со строками, например, Сред (см. примеры использования ниже). При этом нумерация символов в строках 1С идёт с единицы.

Литералы:

Литералы строкового типа представляют собой набор символов заключенных в кавычки. Для задания в строке символа » (кавычка) необходимо записать две кавычки подряд. Кроме того, допускаются «многострочные» строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:

  • Между фрагментами, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев.
  • Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки | (вертикальная черта). В этом варианте комментарии допускаются, если строка начинается с символа комментария //.

Строки в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Число в 1С 8.3 — функции работы с числами

Число в 1С 8 — значение примитивного типа Число. Числовым типом может быть представлено любое десятичное число. С числовыми данными возможно совершать основные арифметические операции: сложение, вычитание, умножение и деление. Максимальное количество разрядов для числа в 1с 8: 38 знаков.

Литералы числа: набор цифр вида: [+|-]<0|1|2|3|4|5|6|7|8|9>[.<0|1|2|3|4|5|6|7|8|9>] В качестве разделителя целой и дробной части используется «.» (точка).

Пример 1. Создадим числовую переменную

Преобразование значений другого типа в число

Преобразовать в число можно значения строкового типа, либо логического типа (Булево). Значение типа Булево преобразуется в число по следующим правилам:

  • Ложь преобразуется в 0;
  • Истина преобразуется в 1.

Значение типа Строка преобразуется в число в том случае, если оно является строковым представлением литерала численного типа.

Для преобразования существует специальная функция Число(<Значение>), которая возвращает полученное число, если преобразование удалось и выдает сообщение об ошибке в противном случае.

Пример 2. Преобразовать в 1с число строку «1.25»

После выполнения данного кода в переменной ПолученноеЧисло будет содержаться числовое значение 1.25

Пример 3. Преобразовать в число строку «Привет мир!»

При попытке выполнить данный код будет выдано сообщение об ошибке: «Преобразование значения к типу Число не может быть выполнено».

Функции работы со значениями типа Число в 1с 8.3

В данном разделе будут рассмотрены основные функции работы с числами в 1с 8 и приведены примеры их использования.

Цел(<Число>). Возвращает целую часть числа переданного в параметре.

Пример 4. Определить делится ли число 121 на 11.

Результатом выполнения данного кода будет вывод на экран сообщения «Делится нацело».

Окр(<Число>, <Разрядность>, <РежимОкругления>). Функция округляет число, переданное в первом параметре, до знака после запятой переданного во втором параметре. Значение разрядности может быть и нулевым (округление до целого) и отрицательным (округление до соответствующего разряда целой части). Параметр РежимОкругления может принимать значения:

  • 0 (или РежимОкругления.Окр15как10). Округляет в меньшую сторону, то есть при округлении 1.5 будет возвращено 1;
  • 1 (или РежимОкругления.Окр15как20). Округляет в большую сторону, то есть при округлении 1.5 будет возвращено 2;

Пример 5. Для того чтобы лучше разобраться с принципами округления рассмотрим округление до целого в меньшую и большую стороны, на ряде чисел от 1.1 до 1.9

Pow(<Основание>, <Показатель>). Возводит число переданное в первом параметре в степень переданную во втором параметре.

Пример 6. Извлечь квадратный корень из числа 144, а затем возвести его в квадрат, в итоге снова должно получится число 144.

Преобразование типов в 1С

Разберем основные вопросы преобразования типов в 1С 8.3: из строки в число, из числа в строку, из даты в число и прочие варианты. В этой статье мы рассмотрим функции преобразования значений, и я соберу в едино все варианты преобразования примитивных типов.

Строка в число в 1С

Узнаем, как в 1С 8.3 преобразовать строку в число.

Пусть, у нас есть числа в таком виде.

Для того, чтобы выполнить преобразование этих строк в число, необходимо воспользоваться методом Число. Этот метод преобразует параметр в число.

Обратите внимание, что разделять дробную часть можно в строке как при помощи символа точка «.», так и при помощи символа запятая «,». Если перед каким-то числом в строке стоят нули, то они отсекаются. У нас будет следующий результат.

Строка в число в 1С

Число в строку в 1С

Рассмотрим обратную задачу, когда в 1С 8.3 нужно преобразовать число в строку. Самый простой вариант использовать метод Строка, который преобразует собственный параметр в строку.

И какой результат возвращает этот код:

Число в строку в 1С

У этого способа имеется недостаток: он ставит пробелы между разрядами у длинных чисел. Для того, чтобы в 1С преобразовать число в строку без пробелов нужно воспользоваться функцией Формат. Данная функция имеет два параметра: преобразуемое значение и форматную строку. Если нам нужно указать, что число преобразуется в строку без пробелов в разряде, то необходимо указать в форматной строке, что порядок разделения группировки разрядов числа или равен 0, или пустой.

Результат будет без разрядов:

число в строку без пробелов 1C

Строка в дату 1С

Узнаем, как преобразовать в 1С 8.3 строку в дату. Для этого необходимо использовать метод Дата, который преобразует параметр (в том числе строку ) в дату . Причем, замечу, что строка должна быть задана в таком формате «ГГГГММДДЧЧММСС».

Подробнее о форматах дат читайте в этой статье: даты в 1С.

Строка в дату в 1С

Если мы зададим дату в не верном формате, то преобразование не произойдет и возникнет ошибка «Преобразование значения к типу Дата не может быть выполнено».

Например, этот код:

Приведет к ошибке:

Преобразование значения к типу Дата не может быть выполнено

Дата в строку в 1С

Преобразовать дату в строку можно несколькими способами. Первый способ: воспользоваться уже знакомым нам методом Строка.

В этом случае у нас выйдет строка в обычном «полном» формате даты.

Дата в строку в 1С

А чтобы получить дату в том формате, в каком нам нужно, необходимо воспользоваться методом Формат.

Форматов дат может быть великое множество ,все я разбирать в этой статье не буду, покажу только как можно быстро воспользоваться этой функцией.

Мы изменим предыдущий код, написав вместо метода Строка метод Формат, а в качестве второго параметра у метода Формат напишем просто две кавычки.

После нужно между кавычками поставить курсор, вызвать контекстное меню, и применить в нем команду Конструктор форматной строки.

Конструктор форматной строки

В этом конструкторе на закладке Дата вы можете выбрать удобный вам формат даты.

Конструктор форматной строки

И после нажатия кнопки ОК этого конструктора, нужный формат появится в виде строки.

В результате метода Формат, дата будет преобразована в строку в том виде, в каком нам необходимо.

Дата в строку в 1С

Строка в булево в 1С

При помощи метода Булево мы можем некоторые строковые представления (Да, Нет, Истина, Ложь) преобразовывать в значения Истина или Ложь.

Например, следующие переменные:

Будут иметь такие значения:

Строка в булево

Булево в строку в 1С

Разберем, как в 1С можно выразить тип булево строкой. Булево значение можно преобразовать в строку несколькими способами. Во-первых, можно просто воспользоваться методом Строка.

Например, как здесь:

У нас будет выходить следующий результат:

Булево в строку

В этом случае, булево в строку преобразовалось согласно региональным установкам информационной базы.

Если мы, как-то по-другому хотим преобразовать булево в строку, то можно воспользоваться уже знакомым нам методом Формат.

Переделаем, предыдущий код:

Знакомым способом вызовем конструктор форматной строки, где на закладке Булево введем преставление значений Истина и Ложь.

Конструктор форматной строки Булево

После нажатия кнопки ОК конструктора, второй параметр метода Формат заполнится:

И будет следующий результат:

Булево в строку

Число в булево в 1С

В 1С 8.3. мы можем преобразовать любое число в булево по следующему правилу: 0 будет преобразован в Ложь, все остальные значения в Истина.

Будет следующий результат:

Число в булево в 1С

Булево в число в 1С

Можно сделать и обратное преобразование. Булево значение в число.

Для этого нужно воспользоваться методом Число, где в качестве параметра указать булево значение. Тогда Истина будет преобразована в 1С, а Ложь – в 0.

Например, как в этом коде:

С таким результатом:

Булево в число

Статьи о примитивных типах в 1С:

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *