рубрики: Фишки | Дата: 18 февраля, 2014
Все кто начинает программировать в 1С рано или поздно сталкиваются с необходимостью удаления пробелов которые появляются в качестве разделителей разряда в момент преобразования числа в строку. То есть к примеру число 1256 после автоматического преобразования выглядит вот так «1 256».
Когда сталкиваешся с этим в первый раз первое, что хочется сделать это
СтрЗаменить(СтрокаЧисло, " ", "")
но это не срабатывает.
Обычно это решается преобразованием числа в строку с использованием функции Формат
Формат(Число, "ЧГ=0")
Но недавно столкнулся с ситуацией (после чтения данных из Excel), когда в качестве исходных данных была уже строка вида «1 437» в которой надо было убрать разделительный пробел. СтрЗаменить() не сработала.
В результате возник вопрос, а может этот разделительный символ вовсе не пробел? Вспомнилось что есть функция которая возвращает код символа —
КодСимвола(<Строка>, <НомерСимвола>) .
выполнил в отладчике
КодСимвола(СтрокаЧисло, 2)
Как оказалось код этого символа — 160
Тогда прописал
СтрЗаменить(СтрокаЧисло, Символ(160), "");
И вот здесь уже СтрЗаменить() отработала как надо.
Добавить комментарий