Преобразую число из 4 цифр в строку и получаю количество символов в строке - 5. Это почему так?

Дело в том, что в версии 8.0 получение строкового представления числа выполняется на основе региональных настроек, установленных на компьютере.

В случае, когда установлены стандартные региональные настройки для России, при приведении числа к строке между группами разрядов чисел вставляется неразрывный пробел (Символы.НПП),например:

Год = 2004;

СтроковоеПредставление = Строка(Год);

// СтроковоеПредставление = "2 004"

// длина строки - 5 символов, включая неразрывный пробел


635


Приложения


Вопросы при переходе с версии 7.7


 


Чтобы преобразовать число к строке без вставки символа-разделителя групп (неразрывного пробела), нужно использовать функцию Формат() с параметром «ЧГ» равным нулю:

Год = 2004;

СтроковоеПредставление = Формат(Год,"ЧГ = 0");

// СтроковоеПредставление = "2004"

// длина строки - 4 символа

Чтобы изменить преобразование чисел к строке по умолчанию,
нужно для информационной базы установить региональные настройки
(например, параметр «Группировка» установить в ноль). Для этого
следует воспользоваться командой меню

Администрирование | Региональные настройки ИБ ...

Если стоит задача получения строкового представления текущего года, можно воспользоваться встроенной функцией формат, указав в ее параметре соответствующую форматную строку:

Формат(ТекущаяДата(), "ДФ = птг") :|

Более подробную информацию можно найти на диске ИТС в статье "Особенности форматирования значений".