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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как "склеит" строку из строк и переменной double ? 
:(
    Опции темы
Гость_Wladislav
  Дата 7.1.2004, 11:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет! biggrin.gif

У меня ужасно простой вопрос, но ответа я не знаю.

Я хочу собрать строку из малых строчек и чисел. Ранее я делал так
Пример:

int X = 150;
int Y = 12;
AnsiString S;
S = "Числа: " + IntToStr(X) + " и " + IntToStr(Y);

Т.е. я пользовался оператором IntToStr() и всё было Ок !

Но появилась необходимость запихнуть в строку дробное число, например 2.5 или 7.05 .
И этот оператор говорит ошибку. Я с ним согласен, но от этого мне не легче.

Помогите! sad.gif
  Вверх
NiJazz
Дата 7.1.2004, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Кажись, для этого есть FloatToStr.
PM MAIL   Вверх
Guest
Дата 7.1.2004, 12:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











О!
Точно! Спасибо!
А я то думал, что FloatToStr только для real-переменных.!

СПАСИБО ! thumbs-up.gif thumbs-up.gif biggrin.gif thumbs-up.gif thumbs-up.gif
  Вверх
Unregistered
Дата 7.1.2004, 14:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня ещё проблема возникла.

Надо формат настроить.
Т.е. если число B = 20.56 , то чтоб выводило в Label1 в виде такого числа: "20.5600".
Но нули не пишутся! Вот в этом и весь вопрос.
  Вверх
NiJazz
Дата 7.1.2004, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Насколько я помню, тип Label1->Caption - это AnsiString. Это нужно учесть.
А чтобы нулей было достаточно, можно написать функцию, работающую со строкой и проверяющую количество цифр после точки. Их должно быть четыре, то есть если меньше четырёх, то соответственно забиваем всё нулями.
PM MAIL   Вверх
Paradox
Дата 7.1.2004, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: нет
Всего: 1



Код
char* str=FloatToStr(a);
char* frac=strtok(str,'.');
frac=strtok(NULL,'.');
int len=strlen(frac);
while (len<=4) {frac+='0'; len++}

ИМХО так
еще надо
Код
#include <string.h>

код не проверял, но вроде джолжно работать


--------------------
---
PM MAIL WWW   Вверх
Dov
Дата 7.1.2004, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 15
Всего: 88



Для форматирования используй FloatToStrF или FormatFloat


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
mr.DUDA
Дата 7.1.2004, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Советую обратить внимание на функции из стандартной библиотеки C++
Код
char strResult[100];
float fNum = 20.56;
int  iNum = 123;
sprintf(strResult, "Числа: %.4f  и  %d", fNum, iNum);

Результат потом можно из strResult запихнуть в AnsiString.

Это сообщение отредактировал(а) mr.DUDA - 7.1.2004, 22:09


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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