| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как определить, что строка начинается с цифры? |
| Автор: five 21.4.2005, 16:05 |
| Не хотелось бы изобретать велосипед, но никак не могу сообразить как определить, что строка начинается с цифры? Может кто чего подскажет? Заранее спасибо. |
| Автор: z-END 21.4.2005, 16:13 | ||
наверно так:
|
| Автор: Satana 21.4.2005, 16:14 |
| объви множество, и делай так if str[1] in <твое множество> значит цифра |
| Автор: Dimannn 21.4.2005, 21:12 | ||
Можно и так
Хотя Delphi серавно эррор покажет |
| Автор: Marriage 22.4.2005, 12:39 | ||
| #48 - 0 #57 - 9
|
| Автор: ~FoX~ 22.4.2005, 13:10 |
| Val(s, i, code) s - строка i - кладем число code - позиция символа который не является числом Это как альтернатива, прелесть в том, что число может состоять из более чем одного символа. |
| Автор: Akella 23.4.2005, 08:53 | ||
Marriage, стока начинается не нулевого индекса, а с единицы
|
| Автор: Marriage 23.4.2005, 21:34 |
| dsergey Ну да, глюканул ... Просто прогу на С сдавал недавно ... Привык |
| Автор: mvdr 24.4.2005, 04:03 | ||
|
| Автор: vintch 25.4.2005, 14:36 | ||||
Тупее не видал а вот правильный вариант уже был предложен:
|
| Автор: Yanis 25.4.2005, 15:35 | ||||
Кто же Char с Integer сравнивает. Incompatible types, однако! Да к тому же слово "цыфра" написано с ошибкой. To vintch
А остальные варианты ошибочные? (кроме варианта от Marriage) |
| Автор: Pakshin A. S. 25.4.2005, 15:38 |
| Может стоит поговорить о том, какой вариант будет работать быстрее и качественнее? а? |
| Автор: Yanis 25.4.2005, 19:13 | ||||||
По моему вариант
самый качественный =) Хотя Delphi в этом случае компилит такой код:
но по моему можно обойтись и таким:
Экономим целую инструкцию =) |
| Автор: ~FoX~ 26.4.2005, 08:08 |
| А если в 16-ти ричной системе |
| Автор: Marriage 26.4.2005, 11:51 | ||||
Согласен, правильнее было бы так
А в С бы прокатило, насколько я понимаю ... |
| Автор: Yanis 26.4.2005, 20:32 | ||||||||
Так это и есть в шестнадцатиричной. Просто забыл весь код привести. Сори...
Код некорректно работает, если первый символ $20 (пробел) или символы с кодом меньше чем VK_0
По моему лучше так:
Так, вроде, на 2 такта быстрее |
| Автор: Marriage 26.4.2005, 20:59 | ||
Yanis
А почему ??? |
| Автор: Yanis 26.4.2005, 21:36 | ||||||||
Этот код Delphi интерпретирует в такой:
А код
в
Вот собственно и различие (надеюсь не наврал =)) |
| Автор: Marriage 27.4.2005, 09:05 |
| movzx - эт что за зверь такой ???? |
| Автор: ~FoX~ 27.4.2005, 16:38 | ||
Я имел ввиду не код, а число, допустим строка начинается с FFsdfsdf, F в данном случае число. |
| Автор: Yanis 27.4.2005, 18:44 | ||
Если бы сложилось так, что у нормальных людей было бы на обоих руках 32 пальцев, а не 20, то и шестнадцатиричные числа были бы учтены и вынесены на Num pad и всё таке прочее. К стати, что было бы с шестнадцатирчиными редакторами? ;) P.S. Если в шестнадцатиричной, то не один приведённый выше код не работает |