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

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

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

Преобразования char в double - C++

06.07.2016, 20:15. Просмотров 311. Ответов 1

Здравствуйте, я использую visual studio 15 и при компиляции следующего кода выводиться ошибка преобразования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    char a = 1;
    double i{ a };
    cout << i;
    return 0;
}
Сама ошибка:
error C2397: conversion from 'char' to 'double' requires a narrowing conversion

Почему нельзя преобразовать char в double? Разве это сужающее преобрзование?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 20:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразования char в double (C++):

Преобразования const double в string - C++
Дана const double k = 0.001, как преобразовать в строку string z = 0,001 ?

Функция для преобразования double в строку символов. - C++
Написать функцию для преобразования переменной типа double в строку символов с заданной точностью представления ( dtoa( double num, int...

ошибка преобразования char - C++
помогите найти ошибку(или исправить): #include&lt;iostream&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; ...

Преобразования с char в string - C++
Помогите исправить и переделать чтобы использовать с string а не с char.Очень прошу:wall::help: #include &lt;iostream&gt; #include...

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

Почему при преобразования из float в double коверкается число? - C++
float fll=34.23; cout &lt;&lt; &quot; fll=&quot;&lt;&lt; fll; //Вот тут я ввожу double dub; dub = (double)fll;cout&lt;&lt;&quot; dub=&quot;&lt;&lt;dub; // А вот тут оно уже :...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Banonanelly
89 / 21 / 21
Регистрация: 29.06.2016
Сообщений: 96
06.07.2016, 20:30 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Narrowing conversions
list-initialization limits the allowed implicit conversions by prohibiting the following:
- conversion from an integer type to a floating-point type, except where the source is a constant expression whose value can be stored exactly in the target type
источник: http://en.cppreference.com/w/cpp/lan...initialization

Работает так
C++
1
2
const char a = 1;
double i{ a };
или так
C++
1
2
char a = 1;
double i{ static_cast<double>(a) };
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2016, 20:30
Привет! Вот еще темы с ответами:

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double - C++
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt; using namespace std; double polp(double af,double...

char в double - C++
Как превратить char в double? Я хочу написать программу в которой вводится два числа и в результате выводится число типа double. Думал...

Из Char в Double - C++
Здравствуйте, не подскажет ли кто , как можно массив char переделать в double Например: char={'0' , ',' , '5555'} double x=0.0;

Перевод из double в char - C++
Добрый день !!! подскажите как перевести из double в char .


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

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

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