Преобразую число из 4 цифр в строку и получаю количество символов в строке - 5. Это почему так?
Дело в том, что в версии 8.0 получение строкового представления числа выполняется на основе региональных настроек, установленных на компьютере.
В случае, когда установлены стандартные региональные настройки для России, при приведении числа к строке между группами разрядов чисел вставляется неразрывный пробел (Символы.НПП),например:
Год = 2004;
СтроковоеПредставление = Строка(Год);
// СтроковоеПредставление = "2 004"
// длина строки - 5 символов, включая неразрывный пробел
635
Приложения
Вопросы при переходе с версии 7.7
Чтобы преобразовать число к строке без вставки символа-разделителя групп (неразрывного пробела), нужно использовать функцию Формат() с параметром «ЧГ» равным нулю:
Год = 2004;
СтроковоеПредставление = Формат(Год,"ЧГ = 0");
// СтроковоеПредставление = "2004"
// длина строки - 4 символа
Чтобы изменить преобразование чисел к строке по умолчанию,
нужно для информационной базы установить региональные настройки
(например, параметр «Группировка» установить в ноль). Для этого
следует воспользоваться командой меню
Администрирование | Региональные настройки ИБ ...
Если стоит задача получения строкового представления текущего года, можно воспользоваться встроенной функцией формат, указав в ее параметре соответствующую форматную строку:
Формат(ТекущаяДата(), "ДФ = птг") :|
Более подробную информацию можно найти на диске ИТС в статье "Особенности форматирования значений".