Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/58: Рейтинг темы: голосов - 58, средняя оценка - 4.60
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434

Как преобразовать часть массива char в double

10.08.2010, 07:07. Показов 12499. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть большой массив char
в нем есть несколько элементов которые нужно преобразовать в число типа double

например

C++
1
2
3
4
5
char X[100];
 
X[20]='0';
X[21]='.';
X[22]='5';
нужно преобразовать эти три элемента массива char в число 0.5 и записать в переменную типа double

Как можно это сделать ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2010, 07:07
Ответы с готовыми решениями:

Как преобразовать long double в char[]?
Приветствую. Подскажите пожалуйста, как преобразовать long double в в тип char? До указателей по книге еще не дошел, в интернете пытался...

Как преобразовать массив char в число double?
Например: char a=0.25 в double b=0.25

Как преобразовать дробную часть числа типа double в int
Есть дробное число, например Z = 123,456 нужно разбить его на два целых числа int I = 123 int F = 456 как это можно сделать ? ...

7
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
10.08.2010, 08:13
Вытащить нужные кусок в отдельную строку и преобразовать в число, допустим функцией atof().
2
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
10.08.2010, 08:25  [ТС]
отвечу сам себе чтоб не забыть как это делаеться

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char X[100];
char Y[4]
 
X[20]='0';
X[21]='.';
X[22]='5';
 
Y[0]=X[20];
Y[1]=X[21];
Y[2]=X[22];
Y[3]=0;
 
int a = atoi(Y);
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
10.08.2010, 08:29
nill, а почему в твоём примере ты используешь atoi а не atof? (atoi для int, atof для double).
1
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
10.08.2010, 08:38
В ручную посимвольно копировать не очень то удобно. Можно воспользоваться специальными функциями
C++
1
strncpy(Y, (X+i), len); // i - индекс начального символа, len - длина числа.
1
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
10.08.2010, 08:57  [ТС]
nikkka,
точно ошибся


kazak,
А откуда нам известно значение len ?
или это просто длинна массива Y в который копируем то есть 4 в моем примере ?
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
10.08.2010, 09:05
Цитата Сообщение от nill Посмотреть сообщение
А откуда нам известно значение len ?
В вашем примере это очень легко узнать. Можно просто создать такой цикл:
C++
1
2
3
4
5
6
int i=0;
while(x[i+20]!='\0') //или просто while(x[i]) - компилятор воспринемает их одинаково
{
    y[i]=x[i+20];
    i++;
}
Добавлено через 57 секунд
можно так. а можно в этот цикл использовать как счётчик, а потом прописать strncpy(Y, (X+i), len);
1
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,308
10.08.2010, 09:09
Я предположил, что длина чисел извнстна.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2010, 09:09
Помогаю со студенческими работами здесь

Преобразовать char* в массив double
Здравствуйте, задача состоит в следующем : Изначально нам дан массив double, который нужно зашифровать xor-ом, я привожу массив double к...

Преобразовать double в строковое представление в char
Есть ли метод который конвертирует double в сhar как число а не ASCII код? т.е. чтоб double i = 1 было char i = '1' Я так понимаю...

Ошибка С2664: невозможно преобразовать параметр 1 из 'double' в 'const char *'
Ошибка C2664: невозможно преобразовать параметр 1 из 'double' в 'const char *' Visual 2008. Пытаюсь написать в шаблоне. Так ругается...

Как достать из массива char переменные типа double, int, bool
Имеется массив char temp. в этот массив записана переменная double (начинается ,например, с temp), переменные типа bool и int. как их...

Не могу преобразовать тип char в тип double
Вся загвоздка в str1 и str2; #include "stdafx.h" #include "conio.h" #include"stdlib.h" #include "cstdlib" #include...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru