Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> формат числа заданный переменной, выручай народ 
:(
    Опции темы
SerGoFun
  Дата 5.10.2005, 18:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кто соображает помогите! smile Не могу въехать! smile
Формат числа указывает сколько символов будет отображаться на экране и сколько ячеек памяти будет выделено под какое-либо выражение(результат).
Пример writeln('a=',a[b]:3:2[/b]) - - - это значит, что под целую часть будет выделено 2 ячейки памяти одна ячейка под точку и две ячейки под дробную часть т.е. в результате мы получим вместо длинного хвоста округленный вариант.
Как можно задать формат числа переменной и вклинить в задачу если например:
дана точность до 0,001 то и в результате ответ округлился до тысячных;
дана точность до 0,01 то и в результате ответ округлился до сотых, и т.д. заранее благодарен за помощь!!! smile
  Вверх
Mal Hack
Дата 5.10.2005, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Первое число - всего знаков на число, второе - на дробную часть.
На днях писал:
Код

 readln( a );

 cnt := Length( FloatToStr( Frac( Abs( a ) ) ) ) - 2;

 ...

 writeln( 'V = ' , format('%*.*f', [8, cnt, v] ) );
// или
 writeln( 'V = ' , v : 8 : cnt ) );


PM ICQ   Вверх
Romtek
Дата 7.10.2005, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(SerGoFun @ 5.10.2005, 18:43)
Как можно задать формат числа переменной и вклинить в задачу если например:
дана точность до 0,001 то и в результате ответ округлился до тысячных;
дана точность до 0,01 то и в результате ответ округлился до сотых, и т.д. заранее благодарен за помощь!!!

Код

writeln (5.2134 : 10 : 3); {до тысячных, в конце 3}
writeln (5.2134 : 10 : 2); {до тысячных, в конце 2}

10 означает, что надо выравнивать на 10 знаков справа.
Если написать так:
Код

writeln (5.2134 : 10 : 3); writeln (5.2134 : 10 : 3);
то выведутся числа 5.123 на расстоянии 10 знаков (позиций курсора) от одного до другого.
Поэкспериментируй с этим, очень удобная вещь.
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

2. Публиковать ссылки на варез

3. Оффтопить

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

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




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


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

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