Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка типа float - "Floating point overflow", Откуда взялась? 
:(
    Опции темы
Нитонисе
Дата 25.5.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Использую переменную типа float, конвертирую ее в текст, но выскакивает ошибка. С чем она связана?
Код

float tem = 18;
RichEdit1->Lines->Add("Температура = " + FloatToStrF(tem,ffGeneral,3,3) + " °C."); // выскакивает ошибка


Сообщение об ошибке:

user posted image

PM MAIL   Вверх
SeekerRZD
Дата 29.5.2011, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



tem, ffGeneral, 3,3 - призыв к компилятору распаковать число в 3 знака из них 3 - после запятой...  
попробуй tem, ffGeneral, 6,3 - 6 знаков из них 3 - после запятой
PM MAIL   Вверх
Нитонисе
Дата 29.5.2011, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(SeekerRZD @  29.5.2011,  07:11 Найти цитируемый пост)
попробуй tem, ffGeneral, 6,3 - 6 знаков из них 3 - после запятой

Здесь 6 - это число значащих цифр. Например число 1.23456789 будет представлено как 1.2345. А число 0.123456789, как 0.123456. На что влияет последний аргумент функции - непонятно.
PM MAIL   Вверх
Usper
Дата 30.5.2011, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



FloatToStrF в режиме ffGeneral преобразовывает число в строку которая выглядит "обычно" (не знаю как выразится smile), если такое число может быть умещено в строку длинной Precision, или в строку в "научном виде". Во втором случае параметр digits определяет "минимальное количество цифр в степени" числа. Но работает это странно, у меня при 
Код

double tem = -123671E-15;
S = FloatToStrF(tem,ffExponent,3,2);

S = -1.24E-10,
Код

double tem = -123671E-15;
S = FloatToStrF(tem,ffExponent,3,3);

S = -1.24E-010,
Код

double tem = -123671E-15;
S = FloatToStrF(tem,ffExponent,3,4);

S = -1.24E-10.
Что же касается кода из первого поста, то я не вижу тут никакого криминала, у меня он не вызвает никаких ошибок.


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

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

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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