:: Visual Foxpro, Foxpro for DOS
Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
А есть ли простой способ убрать в строке ведущие нули без тупого посимвольного перебора?
Строка - 19-ти символьное число. Количество нулей может быть произвольным.


------------------
В борьбе бобра с козлом побеждает бобро
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
LTRIM("000123", 1, "0")
Ratings: 0 negative/1 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
Спасибо.
Что-то я действительно соверщенно забыл возможности тримов - в основном пробелы ими удаляю
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Подавляющее большинство народа после выхода 9-ки и её сервис-паков не додумались посмотреть хелп по уже известным им функциям. А там много где чего добавилось.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
:-[
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Burn
А есть ли простой способ убрать в строке ведущие нули без тупого посимвольного перебора?
Без перебора можно было решить проблему и ранее 9-ки, например:
? CHRT(LTRIM(CHRT("0001230102000",'0',' ')),' ','0')

А вот что должно получиться, если строка содержит все нули, дробное или отрицательное число?
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Будет нехорошо )
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
2akvvohinc
Экий вы затейник
У меня как раз случай, когда всех нулей не будет - таких расчетных счетов не бывает.

ЗЫ Просто родное государство решило расширить максимальную длину расчетного счета с 14 до 19 цифр. И если раньше проходили всякие манипуляции с VAL() то теперь - фигушки



Исправлено 2 раз(а). Последнее : Burn, 20.02.20 09:38
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
У нас 20-значные номера счетов. Это ты еще в экселе эти числа не наблюдал )
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Burn
ЗЫ Просто родное государство решило расширить максимальную длину расчетного счета с 14 до 19 цифр. И если раньше проходили всякие манипуляции с VAL() то теперь - фигушки
Уж сколько раз твердили миру, что номер счета ни разу не число, но воз и ныне там...

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
ssa
Уж сколько раз твердили миру, что номер счета ни разу не число, но воз и ныне там...
Он не разу не числовой, но пока он был 14 разрядные всякие преобразования легко выполнялись через конвертации в число и обратно в строку

of63
У нас 20-значные номера счетов. Это ты еще в экселе эти числа не наблюдал
Наблюдал Как и нездоровое желание экселя конвертировать данные следуя своей логике...
С выводом на документы у нас проще - с января вместо номера счета используеться iban. А он начинаеться с символов
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
vnkor

Сообщений: 324
Дата регистрации: 04.10.2007
Совсем не понятно, зачем Вы собираетесь убирать ведущие нули из 19 разрядного расчетного счета? Для преобразования его в IBAN?
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
Я из iban выкусываю расчетный счет. И зачем мне в нем нужны ведущие нули?
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
vnkor

Сообщений: 324
Дата регистрации: 04.10.2007
А зачем из IBAN выкусывать расчетный счет?
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
Так уж исторически сложилось, что ключевое поле - счет. Плюс мы жили почти полгода когда можно было указать или iban (если уже есть) или номер счета если iban банк еще не использует
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
vnkor

Сообщений: 324
Дата регистрации: 04.10.2007
Если уж так сложилось, что ключевое поле - счет, то не лучше ли увеличить его размерность до 29 символов (формат IBAN) и больше не париться.
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
akvvohinc
Burn
А есть ли простой способ убрать в строке ведущие нули без тупого посимвольного перебора?
Без перебора можно было решить проблему и ранее 9-ки, например:
? CHRT(LTRIM(CHRT("0001230102000",'0',' ')),' ','0')

А вот что должно получиться, если строка содержит все нули, дробное или отрицательное число?

Такая тема была кстати когда-то, давно уже. Даже пару раз кажется.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Burn
Автор

Сообщений: 5643
Откуда: Днепр
Дата регистрации: 02.01.2002
Crispy
Такая тема была кстати когда-то, давно уже.
Не нашел. Как сохранить все значащие цифры в 20-ти значном числе находил
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Burn
Crispy
Такая тема была кстати когда-то, давно уже.
Не нашел. Как сохранить все значащие цифры в 20-ти значном числе находил

Да было. Еще при Пиве.

В частности, помимо
akvvohinc
ранее 9-ки, например:
? CHRT(LTRIM(CHRT("0001230102000",'0',' ')),' ','0')

можно и такой вариант (в FPD я его использовал):
? LTRIM(STR(VAL('0001230102000'),13))
Без LTRIM() при этом сохраняется выравнивание позиции на экране.
Ну и т.п.
Вот название темы не помню, возможно какое-то левое было, как иной раз бывает, поэтому так просто и не ищется.
Но точно было. И куча вариантов. Каждый помнится приводил свой.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Убрать ведущие нули в строк
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Crispy
можно и такой вариант (в FPD я его использовал)

Можно, но не в данном случае.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 20 (Гостей: 20)

© 2000-2024 Fox Club 
Яндекс.Метрика