Профессия — 1С

Рукопашный бой Карташ

Категории

Удаление пробела — разделителя разрядов

рубрики: Фишки | Дата: 18 Февраль, 2014

Все кто начинает программировать в 1С рано или поздно сталкиваются с необходимостью удаления пробелов которые появляются в качестве разделителей разряда в момент преобразования числа в строку. То есть к примеру число 1256 после автоматического преобразования выглядит вот так «1 256».

Когда сталкиваешся с этим в первый раз первое, что хочется сделать это



СтрЗаменить(СтрокаЧисло,  " ", "")

но это не срабатывает.

Обычно это решается преобразованием числа в строку с использованием функции Формат



Формат(Число, "ЧГ=0")




Но недавно столкнулся с ситуацией (после чтения данных из Excel), когда в качестве исходных данных была уже строка вида «1 437» в которой надо было убрать разделительный пробел. СтрЗаменить() не сработала.

В результате возник вопрос, а может этот разделительный символ вовсе не пробел? Вспомнилось что есть функция которая возвращает код символа —
КодСимвола(<Строка>, <НомерСимвола>) .
выполнил в отладчике



КодСимвола(СтрокаЧисло, 2)

Как оказалось код этого символа — 160
Тогда прописал



СтрЗаменить(СтрокаЧисло, Символ(160), "");

И вот здесь уже СтрЗаменить() отработала как надо.

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

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

   

2018г. Профессия — 1С. Обмен опытом по программированию в 1С