Официальный сайт студ.городка НГТУ
Программирование и БД » [C++] Преобразование типа Real в тип String 

#1  22.06.10 13:49

[C++] Преобразование типа Real в тип String

Собственно функция.

Код::

char *Real_To_String (long double t)
{
char *string = new char[L], *p, temp[L];
long k=t;
int i=0, Len, n;
Long_To_String(k,string);
strcat(string,".");
t=t-k;
do
{
k=t*10;
t*=10;
temp[i]=(k%10)+'0';
i++;
}
while ((i<10)&&((t-k)>0.000001));
temp[i]='\0';
Len=strlen(temp);
n=Len/3;
if ((Len%3)==0) n--;
for (i=0,p=temp;i<n;i++,p+=3)
{
strncat(string,p,3);
strcat(string,"");
}
strcat(string,p);
return string;
}

Использование в коде.

Код::

Real_To_String(val.get_wid());
printf("\n widht: %s",str);
bf.Write(str,20);

Нужно, чтобы функция корректно отображала на экране содержимое потока.
val.get_wid() - вещественное число вида "12.123"
str - собственно строка.

Исправлено Nirvash (22.06.10 13:56)

Offline

#2  22.06.10 14:59

$up
Профиль

Re: [C++] Преобразование типа Real в тип String

это задание по изобретению велосипеда?
_ecvt использовать нельзя?

Offline

#3  22.06.10 15:04

Re: [C++] Преобразование типа Real в тип String

Требование такое. Преподаватель самодур.

Offline

#4  22.06.10 15:09

$up
Профиль

Re: [C++] Преобразование типа Real в тип String

http://faculty.qu.edu.qa/rriley/cmpt507 … ource.html
вот исходник стандартный нашел.

Или ты результат функции не знаешь как получить?
Твой пример использования в коде мне непонятен, где str своё значение получает?

Исправлено $up (22.06.10 15:09)

Offline

#5  22.06.10 15:10

Re: [C++] Преобразование типа Real в тип String

Второе. Не могу прописать код, где str получил бы свое значение.

Offline

#6  22.06.10 16:28

$up
Профиль

Re: [C++] Преобразование типа Real в тип String

Код::

char* str = Real_To_String(val.get_wid());
if (str != 0)
{
   printf("\n widht: %s",str);
   bf.Write(str,20);
   delete [] str;
}

Offline

Программирование и БД » [C++] Преобразование типа Real в тип String 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.024 сек.
Выполнено 14 запросов.