|
Лидирующие нули | ☑ | ||
---|---|---|---|---|
0
Novicadmin
05.08.14
✎
13:54
|
ЗначениеРеквизита = "0095563";
ЧислоПЛУ = СокрЛП(Строка(Число(ЗначениеРеквизита))); //ЧислоПЛУ = "95 563" PLU = СтрЗаменить(ЧислоПЛУ," ",""); // в результате всё равно 95 563 Почему так? я понимаю что можно написать функцию которая будет резать 0 в начале, но разве как то без неё не обойтись? |
|||
1
ale-sarin
05.08.14
✎
13:56
|
Формат(95563, "ЧГ=")
|
|||
2
ale-sarin
05.08.14
✎
13:56
|
короче
PLU = Формат(ЧислоПЛУ,"ЧГ="); |
|||
3
Ymryn
05.08.14
✎
13:57
|
(0) или скопируй из табло именно тот пробел (он неразрывный), что в числе, ибо они разные с тем, что ты в заменить используешь, ну или код найди неразрывного пробела.
|
|||
4
KnightAlone
05.08.14
✎
13:57
|
(0) тебе чего сделать то надо? убрать пробел в 95 563? СДелай СтрЗаменить(ЧислоПЛУ,Символы.НПП,"");
|
|||
5
Novicadmin
05.08.14
✎
13:58
|
спасибо большое, задача убрать впереди строки все 0
|
|||
6
ale-sarin
05.08.14
✎
14:00
|
(5) А дальше? Это должно стать строкой? Или числом?
|
|||
7
lxndr
05.08.14
✎
14:01
|
(6) в весы грузит наверное. Там текст
|
|||
8
ale-sarin
05.08.14
✎
14:02
|
(7) ))) Я тоже так подозреваю.
|
|||
9
Novicadmin
05.08.14
✎
14:05
|
угу весы )))
|
|||
10
Novicadmin
05.08.14
✎
14:05
|
текст )
|
|||
11
Jaap Vduul
05.08.14
✎
14:17
|
СтрЗаменить(СокрЛ(СтрЗаменить("0095563", "0", " ")), " ", "0")
|
|||
12
Крошка Ру
05.08.14
✎
14:18
|
(11) Так он все нули уберет, не только лидирующие
|
|||
13
Крошка Ру
05.08.14
✎
14:20
|
(10) Открой для себя СП и функцию Формат(). Обрати особое внимание на параметр ЧВН.
|
|||
14
FIXXXL
05.08.14
✎
14:21
|
из типовой, печать номера документа:
// удаление ведущих нулей Пока Лев(Номер, 1)="0" Цикл Номер = Сред(Номер, 2); КонецЦикла; |
|||
15
Jaap Vduul
05.08.14
✎
14:23
|
(12)
Только лидирующие. |
|||
16
Timon1405
05.08.14
✎
14:23
|
Учите матчасть(БСП)
Функция УдалитьЛидирующиеНули(Знач Код) Пока СтрДлина(Код) > 0 Цикл Если Лев(Код, 1) <> "0" Тогда Прервать; КонецЕсли; Код = Прав(Код, СтрДлина(Код) - 1); КонецЦикла; Возврат ?(ПустаяСтрока(Код), "0", Код); КонецФункции Функция ЧисловойКодОбъекта(Знач Код) Результат = ""; Пока СтрДлина(Код) > 0 Цикл Символ = Прав(Код, 1); Если Найти("0123456789", Символ) > 0 Тогда Результат = Символ + Результат; Иначе Прервать; КонецЕсли; Код = Лев(Код, СтрДлина(Код) - 1); КонецЦикла; Возврат ?(ПустаяСтрока(Результат), 0, Число(Результат)); КонецФункции |
|||
17
Jaap Vduul
05.08.14
✎
14:24
|
(16)Жесть.
|
|||
18
Эмбеддер
05.08.14
✎
14:26
|
(16) это правильное решение. переводить строку в число, чтобы снова перевести в строку - это коряво
|
|||
19
Крошка Ру
05.08.14
✎
14:26
|
(15) А, ну вообще-то, да, сработает. Если только изначально в строке пробелов не будет.
|
|||
20
Jaap Vduul
05.08.14
✎
14:30
|
(18)
Зачем в число переводить? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |