|
6 / 6 / 2
Регистрация: 23.03.2009
Сообщений: 198
|
|
Выделить подстроку, которая соответствует записи вещественного числа23.09.2009, 15:12. Показов 7478. Ответов 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
|
||
|
Почетный модератор
64319 / 47615 / 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
|
|||
|
Почетный модератор
64319 / 47615 / 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
|
|
|
Почетный модератор
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
|
|
| 29.09.2014, 08:25 | |
|
0
|
|
| 29.09.2014, 08:25 | |
|
Помогаю со студенческими работами здесь
30
Выделить из заданной строки подстроку, которая соответствует записи вещественного числа с плавающей точкой
Выделить подстроку, которая соответствует записи целого числа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|