Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1

Моя реализация функции перевода STRING в DOUBLE

22.12.2012, 11:35. Показов 3869. Ответов 21

Студворк — интернет-сервис помощи студентам
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <string>
 
using namespace std;
 
double str_to_double(string a);
 
int main() {
    string s = "7.86456456";
    cout << str_to_double(s);
}
 
double str_to_double(string a) {
    int s = 0;
 
    for(int i = 0; i < a.size(); ++i) {
        if(a[i] == '.') {++s;}
        if(s > 1 || a[0] == '.') {return 0;}
    }
 
    double num = 0;
    int tmp;
    bool anti = false;
 
    int dob = 0;
 
    for(int i = a.size() - 1; i >= 0 && a[i] != '.'; --i) {++dob;}
 
    double l = 1;
 
    if(s == 0) {l = 1;}
    else {for(int i = 0; i < dob; ++i, l /= 10);}
 
    for(int i = a.size() - 1; i >= 0; --i, l *= 10) {
        if(a[i] == '0') {tmp = 0;}
 
        else if(i == 0 && a[i] == '-') {anti = true; break;}
 
        else if(a[i] >= '0' && a[i] <= '9') {tmp = a[i] - '0';}
        else if(a[i] == '.') {l /= 10; continue;}
 
        else {
                return 0;
        }
 
        num += (tmp * l);
    }
 
    if(anti == true) {return -num;}
    else {return num;}
}
Самостоятельно написал функцию перевода string в double
P.S. Пишите предложения по улучшению этой функции

Добавлено через 5 минут
Вверх

Добавлено через 7 минут
Вверх
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.12.2012, 11:35
Ответы с готовыми решениями:

Моя реализация функции перевода string в int
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int str_to_int(string a); int main() { string s =...

Моя реализация алгоритма перевода числа в пропись (русский язык)
Добрый день.Недавно передо мной стояла задача сделать REST сервис перевода числа в пропись(на русском языке).Я хочу,чтобы мой код...

Как исправить ошибку перевода string в double?
Ошибка заключается непонятно в чем, using System; using System.Collections.Generic; using System.ComponentModel; using...

21
22.12.2012, 15:12
Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Еще один пост не по теме от любого из вас и вы сможете по достоинству оценить мощь карточек.
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
22.12.2012, 15:34
C++
1
2
3
4
5
6
7
8
//    for(int i = 0; i < a.size(); ++i) {
//        if(a[i] == '.') {++s;}
//        if(s > 1 || a[0] == '.') {return 0;}
//    }
 
    if ((count (a.begin(), a.end(), '2')>1)||(a[0] == '.'))
     return 0;
    int s = (count (a.begin(), a.end(), '.'));
как вариант, всё посовременнее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2012, 15:34

Какая-нибудь реализация функции void Fun (double in, double *out)
Подскажите, пожалуйста, какую-нибудь любую реализацию прототипа функции: void Fun (double in, double *out)

Вывести long double число без перевода в double
Надо вывести long double число без перевода в double. Пишу: printf(&quot;%Lf&quot;,S); и выводится неверно. Компилятор -- MinGW, та же фишка на...

Есть ли какие то стандартные функции преобразования double в string?
В проекте необходимы функции, для преобразование double в string и наоборот. Первое получилось очень даже просто static double...

Не проходит тест функции Double to String. Где ошибка?
не пойму почему не проходит тест к этому методу? Подскажите как правильно кто знает. Код: public static String doubleToString(double d)...

Ваша идея, моя реализация
Хочется попрактиковаться в написании программ с использованием wxWidgets. Если проще - речь идет о написании кроссплатформенных...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru