|
6 / 6 / 2
Регистрация: 23.03.2009
Сообщений: 198
|
|
Выделить подстроку, которая соответствует записи вещественного числа23.09.2009, 15:12. Показов 7579. Ответов 29
Метки нет (Все метки)
Как выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой? Мне думается так: считывать строку и если находится в ней одна запятая, то эта та строка, которая мне и нужна, но вот как узнать число ли это?
0
|
|
| 23.09.2009, 15:12 | |
|
Ответы с готовыми решениями:
29
Выделить подстроку, которая соответствует записи вещественного числа
|
|
6 / 6 / 2
Регистрация: 23.03.2009
Сообщений: 198
|
||
| 26.09.2009, 13:01 [ТС] | ||
|
0
|
||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||
| 26.09.2009, 13:01 | ||
Он алгоритм уже в разных вариантах представил и разъяснений и советов много написал. Я лично ему в этой ветке очки в репу проставил. Он вообще на форуме очень большую работу проделывает - помогает людям.А прогу я написал потому, что видимо Lil Crazy очень нужно её написать. Да и понять как алгоритм работает он тоже хочет - по ветке видно, что человек пытается. Но эти вложенные циклы его "давят". Поэтому вот набросал.--- "+/-" прикручу. Чуть попозже выложу здесь.
0
|
||
|
Почетный модератор
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|
| 26.09.2009, 13:09 | |
|
Просто у меня программа выделяет все вещественные числа в строке, а у Вас вроде только одно, потому и не пользуюсь pos(); Если одно число то конечно проще. Автор просто где-то в начале писал что строка состоит из разных символов и чисел.
А циклов всего 4. 1-основной, проход по строке в поисках запятой, и три вложенных одного порядка, поиск целой части, инверсия строки и поиск дробной части. Как тут можно запутаться?
1
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
|||
| 26.09.2009, 13:25 | |||
Если нужно искать несколько чисел, то прогу нужно доделать. Надо будет изменить в некоторой степени код функции FindFloatNum(). Так чтобы она могла начинать поиск не только с самого начала строки и чтобы возвращала позцию на которой она остановилась (Pos2). Тогда можно организовать цикл, последовательно вызывающий FindFloatNum() в своем теле - для поиска других чисел (тех, что правее). Lil Crazy написал, что по ходу дела изучал как применять конструкцию While. Т. е. у него пока начальный уровень - стадия изучения синтаксиса. На этом этапе три - четыре вложенных цикла (да еще с While, который он только осваивает) могут запутать.
0
|
|||
|
Почетный модератор
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|
| 26.09.2009, 13:32 | |
|
1
|
|
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||
| 26.09.2009, 14:04 | ||||||
|
Поиск с учетом знака. Немного изменилась только FindFloatNum() :
0
|
||||||
|
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
|
||||||
| 26.09.2009, 14:55 | ||||||
Сообщение было отмечено как решение
Решение
Вот вариант, с поиском всех дробных чисел в строке. (Delphi 7). Использована функция PosEx() - ищет подстроку, начиная с заданной позиции.
3
|
||||||
|
6 / 6 / 2
Регистрация: 23.03.2009
Сообщений: 198
|
||
| 26.09.2009, 18:14 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 13
|
|
| 29.09.2014, 00:26 | |
|
блин да там не так работает как надо код, вбей в поле допустим 5,0 затем 3,2 и оно выберет 5,0 а это не дробное
0
|
|
|
Почетный модератор
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|
| 29.09.2014, 08:25 | |
|
0
|
|
| 29.09.2014, 08:25 | |
|
Выделить из заданной строки подстроку, которая соответствует записи вещественного числа с плавающей точкой
Выделить подстроку, которая соответствует записи целого числа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|