Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VanHalen
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 5
#1

Число с плавающей запятой в строках - C++

31.05.2014, 02:09. Просмотров 289. Ответов 2
Метки нет (Все метки)

Задание - из строки выделить подстроку, задающую число с плавающей точкой.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 02:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Число с плавающей запятой в строках (C++):

Класс : Число с плавающей запятой(точкой) - C++
Подскажите,где можно побольше узнать о числах с плавающей запятой,желательно не теоретическую часть,а программную. У меня задания...

Как будет выглядеть заголовок функции, принимающей в качестве входных параметров два целых числа и возвращающей число с плавающей запятой двойной точн - C++
1. int a, int b: f ( double ) 2. double f ( int a, int b ) 3. int f ( double a, int b ) 4. f ( int a, int b, return double ) 5....

Операция с плавающей запятой - C++
float f=13565.0; float x=0.01; float z=f+x;

Числа с плавающей запятой - C++
есть программа которая подсчитывает сумму чисел, введенных с командной строки. к примеру С:\> test.exe 1 2 3 <ENTER> что бы...

Запись типов с плавающей запятой - C++
интересует правильность записи типов с плавающей запятой. пример float k = 0.25; // << это верно будет ли верной такая...

Произведение чисел с плавающей запятой - C++
Требуется реализовать произведение чисел с плавающей запятой, длинных чисел, к примеру 1234567890.9 и 1234567890.9, так что бы их результат...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
schdub
2946 / 1291 / 238
Регистрация: 19.01.2009
Сообщений: 3,395
Завершенные тесты: 1
31.05.2014, 03:37 #2
VanHalen,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <cctype>
 
std::string findFloat(const std::string & s, std::string::size_type pos = 0) {
    std::string::size_type sep = s.find('.', pos);
    if (sep == std::string::npos) return std::string();
    int b, e;
    for (b = sep - 1; b >= 0 && ::isdigit(s[b]); --b);
    ++b;
    for (e = sep + 1; e < s.length() && ::isdigit(s[e]); ++e);
    return s.substr(b, e - b);
}
 
int main() {
    std::cout << findFloat("total amount is 222.2302 pounds.") << " "
              << findFloat("1234.567") << " "
              << findFloat(".1234");
}
Добавлено через 8 минут
для случая, если разделитель встречается перед числом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <cctype>
 
std::string findFloat(const std::string & s, std::string::size_type pos = 0) {
    std::string::size_type sep = s.find('.', pos);
    for(int b, e;;) {
        sep = s.find('.', pos);
        if (sep == std::string::npos) return std::string();
        for (b = sep - 1; b >= 0 && ::isdigit(s[b]); --b);
        ++b;
        for (e = sep + 1; b < s.length() && ::isdigit(s[e]); ++e);
        if (e - b > 1) return s.substr(b, e - b);
        pos = sep + 1; 
    }
}
 
int main() {
    std::cout << findFloat("total amount is 222.2302 pounds.") << " "
              << findFloat("1234.567") << " "
              << findFloat(".1234") << " "
              << findFloat("pounds. amount. is 222.2302 ")
    ;
}
0
Psilon
Master of Orion
Эксперт .NET
5891 / 4788 / 634
Регистрация: 10.07.2011
Сообщений: 14,406
Записей в блоге: 5
Завершенные тесты: 4
31.05.2014, 03:59 #3
VanHalen, как вариант:
C++
1
2
3
4
5
6
7
8
9
10
#include <regex>
 
using namespace std;
 
string findFloat(const string &s) { 
    smatch m;
    regex e("\\d*[\\.,]\\d+");
    regex_search(s, m, e);
    return m[0];
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2014, 03:59
Привет! Вот еще темы с ответами:

Что-то не то с числами с плавающей запятой - C++
Есть код на вычисление реккурентного соотношения, он работает +- нормально. Но проблема в том, что на одном из предтестов...

Ошибка в числах с плавающей запятой (калькулятор) - C++
Пробую написать калькулятор. Все идет гладко, все, кроме запятой. К примеру, при попытке сложить 0,2 и 0,4 получаю в ответ...

Счетчик с плавающей запятой (по книге Хортона) - C++
Добрый Всем вечер. Изучаю циклы и по уроку есть пример, который по задумке автора ошибочный. Цитата: Этот цикл должен отобразить значения...

Как следить за числом с плавающей запятой? - C++
к примеру у меня есть число,и к нему постоянно прибавляют дроби.У этого числа увеличивается часть с плавающей запятой следовательно.Так вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru