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

Перевод long double в строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан текстовый файл, содержащий даты .число месяц и год. найдите самую позднюю дату http://www.cyberforum.ru/cpp-beginners/thread919503.html
Доброго времени суток. Срочно нужна помощь, сижу на экзамене) Билет с таким заданием. Если можно, распишите подробней. Заранее спасибо. смотрел на форуме в уже заданных ,но не понял.
C++ Формирование списка Начал учить Си недавно. ВРоде все идет более-менее нормально, но на списках я встал колом и не могу понять почему так происходит. Итак, задача состоит в том, чтобы по заранее введенным хапактеристикам выводить графики функций. В начале работы мы не знаем сколько их хочет ввести пользователь. Как можно реализовать список для данной задачи? Вот все структуры, которые я использую в своей программе... http://www.cyberforum.ru/cpp-beginners/thread919468.html
C++ Написать функцию, возвращающую преобразованную к верхнему регистру строку, полученную в качестве аргумента
// функция upcase #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; //функция преобразования строчных букв в прописные char* upcase(char *st) {
C++ Аргументы шаблонного метода как объекты
Не могу решить одну задачу. вот три класса class win {}; class obj1 {}; class obj2 {};
C++ Шаблоны и определение SSE типов на этапе компиляции http://www.cyberforum.ru/cpp-beginners/thread919377.html
Добрый вечер. Задача следующая: для каждого базового типа даных int, float и double есть свой intrinsic SSE тип - __m128i, __m128 и __m128d соответсвенно. Предположим, что для каждого перечисленного типа у меня есть реализация некоторой функции: //Реализация для int void func(int *data) { __m128i* data_sse = (__m128i*) data; } //Реализация для float void func(float *data)
C++ Очистка/удаление файла *.txt с помощью fstream Как с помощью#include <fstream> очистить/удалить файл по заданному пути? подробнее

Показать сообщение отдельно
Асурус
2 / 2 / 1
Регистрация: 27.07.2012
Сообщений: 40
09.07.2013, 07:23     Перевод long double в строку
Кто мне объяснит, почему тут long double последнюю цифру дробит...
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
void ld_to_str(long double ld, char str[])
{
    double d1;
    d1 = ld;
    int j = 0, i = 0, a = 0;
    if(d1 == 0)
        str[a++] = '0';
    while(d1 >= 1)
    {
        d1 /= 10;
        j++;
    }
    while(d1 != 0)
    {
        d1 *= 10;
        i = d1;
        d1 -= i;
        if(a == j && d1 != 0)
        {
            str[a++] = ',';
            str[a++] = i + '0';
        }
        else
            str[a++] = i + '0';
    }
    str[a] = '\0';
}
Добавлено через 20 часов 2 минуты
Я имею ввиду что d1 после вычитания последней цифры приобретает вид 0,000000000000082349287349287349812734, примерно так.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru