Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2009, 20:42   #1
infog
 
Регистрация: 30.05.2009
Сообщений: 8
Вопрос Количество чисел после точки

Добрый вечер.
Есть небольшая проблемма, в поисках решения рылся в поисковиках и форумах, но не нашёл.

Есть число типа real которое имеет много цифр после точки. Его я преобразовываю в стринг с помощью FloatToStr.

Мне необходимо получать целое число и 3 цифры после точки. Поделитесь пожалуйста советом.

Спасибо зарание.
infog вне форума Ответить с цитированием
Старый 30.05.2009, 20:46   #2
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

FloatToStrF(<float>, ffFixed, 5, 3)

Последний раз редактировалось Evgeniy26; 30.05.2009 в 21:22.
Evgeniy26 вне форума Ответить с цитированием
Старый 30.05.2009, 20:51   #3
infog
 
Регистрация: 30.05.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
FloatToStrF(<string>, ffFixed, 5, 3)
Пробовал, много раз, получаю ошибку "Too many actual parameters"
infog вне форума Ответить с цитированием
Старый 30.05.2009, 21:01   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

s:=FormatFloat('0.000',x);
http://www.delphibasics.ru/FormatFloat.php
_Dmitry вне форума Ответить с цитированием
Старый 30.05.2009, 21:21   #5
infog
 
Регистрация: 30.05.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от _Dmitry Посмотреть сообщение
Ошибка не вызывается, если я правильно понял, его нужно вместо FloatToStr. Или перед тем..?
infog вне форума Ответить с цитированием
Старый 30.05.2009, 21:24   #6
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
var
  k: real;
  Str: String;
begin
  k := 5.5;
  Str := FloatToStrF(k, ffFixed, 5, 3);
Evgeniy26 вне форума Ответить с цитированием
Старый 30.05.2009, 21:30   #7
infog
 
Регистрация: 30.05.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
Код:
var
  k: real;
  Str: String;
begin
  k := 5.5;
  Str := FloatToStrF(k, ffFixed, 5, 3);
Об этом я писал в начале, выдается ошибка (Delphi 7)
infog вне форума Ответить с цитированием
Старый 30.05.2009, 21:44   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Если ошибка, то проверяйте подключен ли модуль SysUtils.
А вообще, округление до определённого количества цифр после запятой имеет смысл только в бухгалтерии. В инженерных расчётах точность определяется количеством значащих цифр и здесь функция предложенная Evgeniy26 предпочтительней (с форматом ffGeneral).
http://www.delphibasics.ru/FloatToStrF.php
_Dmitry вне форума Ответить с цитированием
Старый 31.05.2009, 11:59   #9
infog
 
Регистрация: 30.05.2009
Сообщений: 8
По умолчанию

Модуль подключен.
У меня следующая задача. Есть результат расчётов 3.32455463456532456, который нужно вывести через label. Точность не принцыпиальна, может как-то можно ограничить количество символов?
infog вне форума Ответить с цитированием
Старый 31.05.2009, 12:10   #10
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Код:
floatNumber := 3.32455463456532456;
Str(floatNumber:10:3, text);
Label1.Caption := 'Результат = ' + text;
Теория : http://delphibasics.ru/Str.php
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки. Заглавные буквы после точки (Delphi) ekzobyte Помощь студентам 8 27.05.2009 22:38
количество выпавших чисел street-walker Помощь студентам 1 18.05.2009 21:13
как записывать в файл тип риал чтоб после точки эти нули убрать?? ТРОЯН=) Помощь студентам 3 24.04.2009 14:09
Количество цифр после запятой LIEN БД в Delphi 7 03.07.2008 22:12
Отбражение чисел - точки, это точки, а не запятые, обозначающие дробную часть Дикий Помощь студентам 7 12.05.2008 17:57