Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перевести из double в CString 
:(
    Опции темы
Kobzon
Дата 6.12.2004, 20:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











пробовал ecvt но там нули достали не знаю как от них избавиться. Наприр, число 45,256 в строке будет 45,25600000000 и т.д. Как их убрать smile
ПАМАГИТЕ!!!!
  Вверх
shedon
Дата 6.12.2004, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



Код

CString s;
double fData = 45.256;
s.Format("%.3f", fData);



--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Guest
Дата 6.12.2004, 21:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А если после запятой не 3 символа?
  Вверх
shedon
Дата 6.12.2004, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



тогда после точки вместо 3 пиши сколько символов тебе надо
"%.3f" 3 - это число символов которое нао отображать после запятой. f означает что число с плавающей точкой.


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Guest
Дата 7.12.2004, 12:58 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Дак я как раз и не знаю сколько надо отображать после запятой. Число получается в результате арифметических операций, поэтому неизвестно сколько там будет символов smile
  Вверх
shedon
Дата 7.12.2004, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

Репутация: 4
Всего: 11



там всегда, будет одинаковое количество чисел, вопрос какая точность тебе нужна.


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 7.12.2004, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(shedon @ 7.12.2004, 12:08)
там всегда, будет одинаковое количество чисел, вопрос какая точность тебе нужна.


Вроде надо только нули обрезать smile

Возможно существует стандартная фу-ия для этого...
Нвскидку делаем так:

Код

/*
Код проверен!
При использовании ссылайтесь на www.vingrad.ru
http://vingrad.ru/@sergej.z
*/
#include <stdio.h>
#include "string.h"
const char* doubleToChar_obrezanto(double d)
{
 static char number[25];
 char *begunok;
 //Создадим строку из числа
 sprintf(number,"%lf",d);

 //поставим бегунок наконец слова и перескочим нули задом наперёд :)
 begunok=&(number[strlen(number)-1]);
 while(*(begunok--)=='0')
 begunok[1]=0;
 return number;
}
int main()
{

 double test=25.678000;
 //распечатаем красиво :)
 printf("test %s\n",doubleToChar_obrezanto(test));
 //И как обычно...
 printf("%lf",test);
 return 0;
}



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0932 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.