Вывод значений real

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Ответить
Akkerman
незнакомец
Сообщения: 9
Зарегистрирован: 26.03.2006 15:19:02
Откуда: Белгород-Днестровский

Сообщение Akkerman »

Не подскажите как вывести на экран переменную типа real без лишних цифр и указания порядка. Мне нужен вывод до сотых. Пробовал использовать writeln(a:0:2), но если у меня значение ,например, 5.2, то выводится 5.20, что мне не нужно.
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Ну тогда writeln(a:0:1);
Прото вторая цифра у тебя указывает на количество цифр после запятой - сколько поставишь, столько и будет.
Akkerman
незнакомец
Сообщения: 9
Зарегистрирован: 26.03.2006 15:19:02
Откуда: Белгород-Днестровский

Сообщение Akkerman »

А если я не знаю сколько знаков у меня будет после запятой.
mif
новенький
Сообщения: 71
Зарегистрирован: 14.12.2005 09:09:27

Сообщение mif »

тогда в строку преводи и со строчкой уже работай.
Akkerman
незнакомец
Сообщения: 9
Зарегистрирован: 26.03.2006 15:19:02
Откуда: Белгород-Днестровский

Сообщение Akkerman »

Перевести в строку с помощью str и потом убрать из ее конца лишние нули? Спасибо, попробую. И еще вопрос в lazarus`е можно перевести integer в string с помощью функции IntToStr, а нет ли такого же для real? Просто str не очень удобно пользоваться.
SovNarKom
постоялец
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]
Контактная информация:

Сообщение SovNarKom »

Akkerman
unit SysUtils

FloatToStr
Janus
постоялец
Сообщения: 134
Зарегистрирован: 07.11.2005 16:06:49

Сообщение Janus »

Есть в модуле sysutils:

Код: Выделить всё

function FloatToStr(Value: Extended): String;


Кстати, в том же модуле - по-моему, как раз то, что тебе нужно:

Код: Выделить всё

function FloatToStrF(Value: Extended; format: TFloatFormat; Precision: Integer;Digits: Integer) : String;
Akkerman
незнакомец
Сообщения: 9
Зарегистрирован: 26.03.2006 15:19:02
Откуда: Белгород-Днестровский

Сообщение Akkerman »

function FloatToStrF(Value: Extended; format: TFloatFormat; Precision: Integer;Digits: Integer) : String;

Спасибо большое, это то, что нужно :)
Ответить