Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
1

Преобразование типов данных

30.12.2010, 21:59. Просмотров 883. Ответов 4
Метки нет (Все метки)

Подскажите как преобразовать double 0.00000000000023 в char 2.3E-13 и обратно?
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2010, 21:59
Ответы с готовыми решениями:

преобразование типов данных
#include <stdafx.h> #include <iostream> using namespace std; int main()...

Преобразование типов данных
Здравствуйте! Вот хотел уточнить одну штуку. Мне было сказано одним...

Преобразование типов данных
Здравствуйте. Подзавис на вот таком задании: short d = 32767; int u = ++d +...

Преобразование типов данных
Здравствуйте, програмеры! :) Возникла такая потребность: преобразовать тип...

Преобразование типов данных
Доброго времени суток, решаю задачу из Лафоре, в этом куске кода мне надо...

4
easybudda
Модератор
Эксперт CЭксперт С++
10120 / 6027 / 1511
Регистрация: 25.07.2009
Сообщений: 11,418
31.12.2010, 02:02 2
amatorIP, в десятичном представлении тип double обеспечивает точность до 10 цифр, а так вот:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
int main(void){
    double d1, d2;
    char buf[BUFSIZ];
    
    d1 = 0.00000000000023;
    sprintf(buf, "%e", d1);
    printf("As string: %s\n", buf);
    d2 = strtod(buf, NULL);
    printf("As double: %e\n", d2);
    
    exit(0);
}
1
Минич
66 / 66 / 7
Регистрация: 26.11.2010
Сообщений: 123
31.12.2010, 02:10 3
char - это целочисленный тип данных размером в 1 байт, используется в основном для хранения одного символа, например, '\n' или 'o'.
если вас интересует ввод/вывод данных в консоль, то экспоненциальное значения, типа 1.125E2, считается нормальным, как и 112.5!
C++
1
2
double d;
cin >> d;
А вот с форматированным выводом можно использовать функцию printf() библиотеки <cstdio>
C++
1
printf ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
Вывод форматированных данных
1
easybudda
Модератор
Эксперт CЭксперт С++
10120 / 6027 / 1511
Регистрация: 25.07.2009
Сообщений: 11,418
31.12.2010, 02:25 4
Цитата Сообщение от Минич Посмотреть сообщение
А вот с форматированным выводом можно использовать функцию printf() библиотеки <cstdio>
а std::scientific из iomanip использовать что мешает?
C++
1
2
3
4
5
6
7
#include <iostream>
#include <iomanip>
    
int main(){
    std::cout << std::scientific << 0.00000000000023 << std::endl;
    return 0;
}
0
Минич
66 / 66 / 7
Регистрация: 26.11.2010
Сообщений: 123
31.12.2010, 03:32 5
easybudda, не знай, возможно мы только учимся
std::fixed из iomanip нужно было упомянуть
вот что я тоже успел нарыскать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using std::cout;
using std::endl;
using std::ios;
int main()
{
   double x = .001234567, y = 1.946e9;
   cout << "Displayed in default format:\n" << x << "\t" << y << "\n";
   cout.setf( ios::scientific, ios::floatfield );
   cout << "Displayed in scientific format:\n" << x << "\t" << y << "\n";
   cout.unsetf( ios::scientific );
   cout << "Displayed in default format after unsetf:\n" << x << "\t" << y << "\n";
   cout.setf( ios::fixed, ios::floatfield );
   cout << "Displayed in fixed format:\n"<< x << "\t" << y << endl;
   system("pause");
   return 0;
}
Добавлено через 13 минут
Статья: Потоки ввода/вывода
0
31.12.2010, 03:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2010, 03:32

Преобразование типов данных
Как преобразовать тип данных который берется с ячейки Excel в строчный тип,...

Преобразование типов данных в классах
если например есть такой код: class TIME { int a; } TIME object;...

Явное преобразование типов данных(объясните разницу)!
В чём разница между этим: cout &lt;&lt; &quot;float(int_value15) / int_value2 = &quot; &lt;&lt;...


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

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

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