Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как извлечь числовое значение из HTML, извлечение данных из HTML  
V
    Опции темы
inside_pointer
Дата 25.3.2008, 00:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Цитата(profispb)

Я написал примерно, а нафиг в данной задачи их учитывать, если нам надо просто выбрать из текста цифры?

Там есть цифры которые не надо, в данном случае одна, а в любом случае их может быть больше, да ещё и с каждой стороны.

Цитата(kresh)

Народ я все таки непонял как все таки число 2128.76 передать полностью

Даже если ты захочешь передать сразу, всё равно у тебя получится тогда два числа из-за пробела 2 и 128.76

Можешь конечно посчитать количество цифр до точки в числе 128.76, а потом умножить первое число 2 на 10 в такой(посчитанной) степени и прибавить 2000 к 128.76, или степень реализовать через цикл с тремя шагами.
PM MAIL   Вверх
kresh
Дата 25.3.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 1.1.2008
Где: Минск

Репутация: нет
Всего: нет



Цитата(inside_pointer @ 25.3.2008,  00:09)

Даже если ты захочешь передать сразу, всё равно у тебя получится тогда два числа из-за пробела 2 и 128.76Можешь конечно посчитать количество цифр до точки в числе 128.76, а потом умножить первое число 2 на 10 в такой(посчитанной) степени и прибавить 2000 к 128.76, или степень реализовать через цикл с тремя шагами.






Спасибо inside_pointer smile   за идею,я её начал развивать, для лучшего чтения числа я решил  преобразовать символьный массив в string и удалить из документа все пробелы.Но вот почему то при выполнение программы в том виде в которым вы писали программа не продвигается дальше точки!Сейчас думаю над этими вопросами!  smile  smile 

Это сообщение отредактировал(а) kresh - 25.3.2008, 10:30
--------------------
Спросит вас продавец в магазине формулу Гаусса-Остроградского... А вы ее не знаете!
PM MAIL   Вверх
inside_pointer
Дата 25.3.2008, 11:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Цитата(kresh)

Но вот почему то при выполнение программы в том виде в которым вы писали программа не продвигается дальше точки!

Может быть потому что это язык С а не С++, а может быть потому что у меня линукс а не виндовс.
В итоге получается double число слитное.
PM MAIL   Вверх
inside_pointer
Дата 25.3.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



На винде тоже всё работает.
PM MAIL   Вверх
creatorcode
Дата 26.3.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 12.6.2006
Где: Ленинград

Репутация: нет
Всего: 4



Вот наваял. Вроде работает.  smile
Код

#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
#include <cmath>
void main()
{
    string tmp,s="CHF<td nowrap>1 швейцарский франк<td align=right>2 128.76<tr><td align=centrer>";
    string::const_iterator i=find(s.begin(),s.end(),'.'),j=i;
    for (--i;isdigit(*i) || isspace(*i);--i);
    for (++j;isdigit(*j);++j);
    remove_copy(i+1,j,back_inserter(tmp),' ');
    double result=atof(tmp.c_str());
    cout<<result<<endl;
}


Это сообщение отредактировал(а) creatorcode - 26.3.2008, 00:31
PM MAIL   Вверх
kresh
Дата 26.3.2008, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 1.1.2008
Где: Минск

Репутация: нет
Всего: нет



Спасибо всем друзья за помощь!   smile 
--------------------
Спросит вас продавец в магазине формулу Гаусса-Остроградского... А вы ее не знаете!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1232 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.