MGV |
Отправлено: 04.07.2004, 19:35 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
При делении, допустим, 1 на 100000 в результате получается 1E-05.
Каким образом это можно привести в более наглядные "0,00001"? |
|
PeroManiak |
Отправлено: 05.07.2004, 00:34 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
Могу ошибаться, но поэкспериментируй с sprintf ("%f", &i). Просто почти никогда этим не пользовался
|
|
AVC |
Отправлено: 05.07.2004, 09:09 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Вопрос некорректен. 0,00001 и есть 1E-5. Если вас интересует форматирование результата к строке то путей много и выбор зависит от цели. Еще способ AnsiString = FormatFloat(fmt,value);
|
|
Asher |
Отправлено: 05.07.2004, 09:35 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
FloatToStrF
|
|
MGV |
Отправлено: 05.07.2004, 10:11 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Спасибо за помощь! |
|
MGV |
Отправлено: 05.07.2004, 14:21 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Ммм...
Вот например:
CODE | FloatToStrF(output,sffExponent,4,2) |
Выдает:
QUOTE | Undefined symbol 'sffExponent' |
И так — на любую константу из документации...
Отредактировано MGV — 05/07/2004, 15:24 |
|
Asher |
Отправлено: 05.07.2004, 15:14 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
М...
QUOTE |
enum TFloatFormat { ffGeneral, ffExponent, ffFixed, ffNumber, ffCurrency }; |
Это если у вас функция
extern PACKAGE AnsiString __fastcall FloatToStrF(Extended Value, TFloatFormat Format, int Precision, int Digits);
и использовать как
CODE |
double dVal;
...//Бла-бла-бла
AnsiString asMyStrVal = FloatToStrF(dVal, ffExponent,4,2);
|
а если у вас метод
static AnsiString __fastcall FloatToStrF(long double value, TStringFloatFormat format, int
precision, int digits);
то
QUOTE |
enum TStringFloatFormat { sffGeneral, sffExponent, sffFixed, sffNumber, sffCurrency }; |
И использовать как
CODE |
double dVal = 0.00001;
AnsiString asStrVal;
asStrVal.FloatToStrF(dVal, sffExponent, 4 ,2);
|
И сним действительно такая ботва. Но я тогда бороться не стал.
Мне функции хватает.
Отредактировано Asher — 05/07/2004, 17:38
|
|
Asher |
Отправлено: 05.07.2004, 16:19 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Посидел, подумал...
Так работает
asStrVal = AnsiString::FloatToStrF(dVal, AnsiString::sffFixed, 15, 3);
Но кому он такой нужен???
|
|
MGV |
Отправлено: 06.07.2004, 17:58 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 5
|
Ещё раз спасибо! |
|