<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284589</guid>
        <pubDate>Tue, 20 Jan 2004 18:11:43 +0000</pubDate>
        <title>Как вывести Real в понятном виде?</title>
        <link>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284589</link>
        <description><![CDATA[Some1: Можно писать и так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">write(a:6:3);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>Без перевода в строку.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-01-20T21:18:53+03:00">20.01.04, 18:18</time></strong>:</span></span><br>
<span class="tag-color tag-color-named" data-value="blue" style="color: blue">Первая цифра</span> будет обозначать минимальное количество ячеек которое будет занимать число. Если это число состоит из меньшего количества символов, то оно выравнивается по правому краю.<br>
<span class="tag-color tag-color-named" data-value="blue" style="color: blue">Вторая цифра</span> обозначает количество знаков после запятой. Если там задать к примеру 5, а у числа реально только 3 знака после запятой, то число дополнится нулями до 5 знаков после запятой. Если же у числа реально больше знаков после запятой, то на экран выведется только пять.<br>
Вот например код: <strong class='tag-b'>write(1.234:9:1)</strong> сместит курсор направо на 9 символов, а число будет в этих 9 символах справа, и будет только один знак после запятой:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">| &nbsp; &nbsp; &nbsp;1.2| &nbsp;- результат на экране</div><div class="code_line">|123456789| &nbsp;- номера символов</div></ol></div></div></div></div><br>
К сожалению в BP нельзя заставить выравнивать число по левой стороне, а это иногда бывает ой как удобно. Например для табличного вывода данных.<br>
Зато в ТМТ паскале можно выравнивать и по левой стороне, если задавать <strong class='tag-b'>отрицательную</strong> длину.<br>
Такой код: <strong class='tag-b'>write(1.234:-9:5)</strong> в ТМТ паскале даст следующий результат:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">|1.23400 &nbsp;| &nbsp;- результат на экране</div><div class="code_line">|123456789| &nbsp;- номера символов</div></ol></div></div></div></div>Если число длиннее, чем указанное первой цифрой, то число будет напечатано полностью, не считаясь с значением первой цифры.<br>
Например такой код: <strong class='tag-b'>write(123.4567:3:2)</strong> даст такой результат:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">|123.45| &nbsp;- результат на экране</div><div class="code_line">|123456| &nbsp;- номера символов</div></ol></div></div></div></div>, что явно длиннее чем 3 символа.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='8' style='font-size:8pt;'><strong class='tag-b'>Добавлено в <time class="tag-mergetime" datetime="2004-01-20T18:28:36+00:00">20.01.04, 18:28</time></strong>:</span></span><br>
В форматировании таким образом можно использовать не только числа, но и строки, или символы. Можно использовать и целые числа. Тогда второе число, указывающее количество знаков после запятой использовать уже нельзя, и попытка его использовать вызовет ошибку.<br>
Например вот такой финт:<br>
<strong class='tag-b'>write(&#39; &#39;:40);</strong> даст 40 подряд идущих пробелов.<br>
Это иногда бывает удобно для рисования окон. Например:<br>
<strong class='tag-b'>write(&#39;|&#39;,&#39;|&#39;:39);</strong> даст левый и правый бордюры окна шириной в 40 символов, заполненного пробелами.<br>
<br>
Так-же в таком форматировании не запрещается использовать переменные и даже целые выражения.<br>
Допустим если у нас изначально неизвестен размер окна по горизонтали, но он находятся в переменной <strong class='tag-b'>xsize</strong>, то можно написать так: <strong class='tag-b'>write(&#39;|&#39;,&#39;|&#39;:(xsize-1));</strong><br>
<br>
К сожалению таким образом нельзя заполнить каким либо другим символом, отличным от пробела.<br>
Поэтому конечно нельзя также сделать и верхний/нижний бордюры окна.]]></description>
        <author>Some1</author>
        <category>Pascal: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284492</guid>
        <pubDate>Tue, 20 Jan 2004 15:40:44 +0000</pubDate>
        <title>Как вывести Real в понятном виде?</title>
        <link>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284492</link>
        <description><![CDATA[ZenIA: Взято  из VP, так что не знаю может под BP и не работает…<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
 Str procedure                       (System unit)<br>
 ----------------------------------------------------<br>
<br>
  procedure Str(X [: Width [: Decimals ]]; var S:String);<br>
<br>
Converts the numeric value X to the same string representation as would be<br>
output by a call to the Write procedure.<br>
<br>
See also Val, IntToStr, Format.<br>
<br>
Examples:<br>
  Str( 10, s )     -&gt;  s = &#39;10&#39;<br>
  Str( 10:3, s )   -&gt;  s = &#39; 10&#39;<br>
  Str( 10:6:2, s ) -&gt;  s = &#39; 10.00&#39;<br>
</div></div>]]></description>
        <author>ZenIA</author>
        <category>Pascal: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284486</guid>
        <pubDate>Tue, 20 Jan 2004 15:26:37 +0000</pubDate>
        <title>Как вывести Real в понятном виде?</title>
        <link>https://forum.sources.ru/index.php?showtopic=43434&amp;view=findpost&amp;p=284486</link>
        <description><![CDATA[Начинающий ламерок: Есть некая программа, в которой для вычисления используются дробные числа (предположим, 1.5). По окончанию вычисления ответ выводится вот таким образом: 3.40000000000000E+0003+   :blink: <br>Вопрос: как это число переобразовать в нормальный человеческий вид, приемлемый для понимания простыми юзверями программы?<br>ЗЫ. Модераторам: просьба сильно не пинать, я второй день в жизни изучаю Pascal.]]></description>
        <author>Начинающий ламерок</author>
        <category>Pascal: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	