![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Что является в С++ аналогом функции DoubleToStr ?
Нужно строку со значением Double присоединить к Стрингу ![]() |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
int main() {
double f=2.3; char c[20]; sprintf(c,"%f",f); printf("%s\n",c); } или sprintf(c,"%g",f); чтоб убрать ненужные нули. Это сообщение отредактировал(а) dargaard - 16.11.2004, 21:33 -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
прокатит ли?
Если нет, то как мне привести код к такой форме? ![]() |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
-------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
Admin
А что ты хоочешь сделать ?
-------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
Wowa |
|
||||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
shedon
Зачем в твоем варианте?
Добавлено @ 22:38 Ладно, чтобы было понятнее, вот полный текст функции:
Мне надо, чтобы так все и осталось в одну строку, хотя это не является в принципе обязательным. Но выполнять присваивание какой-то переменной значения - запрещено. Т.к. это не С++, а FC++ (функциональное программирование). |
||||
|
|||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: 4 Всего: 11 |
просто вывод результат для наглядности, можешь убрать если не нравится
![]() -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
еще мысли ?
![]() |
|||
|
||||
NiJazz |
|
||||||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Если говорить о программировании под Win32 (Unicode), то советую пользоваться таким способом форматирования строки:
Только затрудняюсь ответить, как работать с double. Может, кто-нибудь знает? Добавлено @ 23:06 А чтобы сцепить две строки, используй
lpStr2 присоединяется к lpStr1 Хотя можно и так:
|
||||||
|
|||||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Вот это работать будет
![]() может красивей получится написать ![]()
Добавлено @ 23:18 Вот, extras вдогонку ![]() Наверняка пригодится ![]()
Тогда можно будет с твоей исходной функцией работать не меняя её ![]() |
||||
|
|||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Правда с этими буквами %d и %i я не уверен. Может быть %f и %l.
Эти спецификации типов в функциях я уже подзабыл ![]() |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
sergej.z
IF, ELSE, WHILE, FOR и прямое объявление переменных нельзя использовать в FC++ |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Не знаю FC++...
А что, значит функции DoubleToStr и IntToStr, которые я написал тоже не пойдут? потому что там массив обьявляется? |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
а ftoa есть в фс++?
если да то
-------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Только тогда наверное
|
|||
|
||||
Wowa |
|
||||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Думаю подойдут Добавлено @ 01:50
не знаю, но наверняка. А можно краткое описание ftoa ? |
||||
|
|||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
Описания у меня нету. Просто думал что может есть что нить по аналогии с itoa
(перевод инта в строку). char * itoa ( int value, char * buffer, int radix ); -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
Wowa |
|
||||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Это обычный компиллер g++ Добавлено @ 02:03 Еще так ругается:
|
||||
|
|||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Ну тогда юзай смело ![]() А что за зверь такой FC++? |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Если бы я знал ![]() Я так понял, отличается только отсутствием некоторых операторов. |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
вот попробовал свою фтоа написать используя условия фс++.
Осталось только заменить if-ы на ?: оператор Долго не тестил но вроде работает. (надеюсь.) но енто - изврат полнейший ![]()
Это сообщение отредактировал(а) dargaard - 17.11.2004, 02:37 -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
однозначно, блин.. А что же такое? Функцию DoubleToString мы уже написали, но неужели в С++ нет простой функции присоединения строки? В PHP это делается так: a.b Точно служет символом присоединения. В Делфи, насколько я помню, есть функция DoubleToString и строки можно через + пристыковывать одна к другой. |
|||
|
||||
dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 4 Всего: 25 |
Если имеем char * то для стыковки используем strcat(строка,строка_которую_пресоединить). Если строка типа string то работает + -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Admin
Что за FC++? |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Хочешь, можешь оператор переложить ![]() Си++ ведь сам прогер под себя настраивает. В начале считай что Си перед тобой. А там строка ведь не существует как тип.. Только конечно с операторами поостророжней надо ![]() |
|||
|
||||
Wowa |
|
|||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Как избавится от этих ошибок?
|
|||
|
||||
sergejzr |
|
||||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Довольно странная ошибка. Он чего функцию за конструктор считает....
На всякий случай: если функция задекларирована со значениями по умолчанию,
то в имплементации писать int=0 второй раз нельзя. Т.е пишешь просто
Где взять комплиер на FC++? ![]() |
||||
|
|||||
Wowa |
|
||||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Такого нет, насколько я знаю. Я использую просто обычный g++ 3.2.2. версия. Добавлено @ 12:39
ты прав ![]() |
||||
|
|||||
Wowa |
|
||||||||
Эксперт ![]() Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Да, да, Действительно правильнее так:
иначе ругается:
В общем, можно сказать УРА и всем спасибо! ![]() ![]() Добавлено @ 13:33 а функция такой вид теперь имеет: Собственно, почти как и было, только функцию DoubleToStr мы сами дописали.
|
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |