Город Дербент - Музей под открытым небом
Print this page

Ограничение количества цифр после запятой

Частенько возникает вопрос, как же число в таком формате 5.1100000000E+01 преобразовать более в читабельный вид. А именно, указать количество знаков после запятой. На самом деле в pascalэто делается довольно легко. Не слушайте никого, кто будет предлагать методы через divи mod.
 
 
В паскале существует довольно таки простое решение в работе с вещественными числами:
<переменная>:<число знаков целой части>:<число знаков после запятой>
В коде паскаля это будет выглядеть так:
var number :Real;
begin
  writeln('Введите четное число ');
  Readln(number);
  number:=number/3;
  writeln('2 знакапосле запятой в pascal - number = ', number:0:2);
  writeln('3 знака после запятой в pascal -  number = ', number:0:3);
  writeln('4 знака после запятой в pascal -  number = ', number:0:4);
  writeln('5 знако впосле запятой в pascal -  number = ', number:0:5);
end.
 
Результатом данной программы будет:
Введите четное число
10
number = 3.33333333333333
2 знака после запятой в pascal -  number = 3.33
3 знака после запятой в pascal -  number = 3.333
4 знака после запятой в pascal -  number = 3.3333
5 знаков после запятой в pascal -  number = 3.33333
 
Метод работает, если производить математические операции прямо во writeln. Он возьмет полученное значение и будет работать с ним:
var number :Real;
begin
  writeln('Введите четное число ');
  Readln(number);
  number:=number/3;
  writeln('number = ', number);
  writeln('2 знака после запятой в pascal - number = ', number+number:0:2);
  writeln('3 знака после запятой в pascal - number = ', number+number:0:3);
  writeln('4 знака после запятой в pascal - number = ', number+number:0:4);
  writeln('5 знаков после запятой в pascal - number = ', number+number:0:5);
end.
 
Результатом алгоритма будет следующим:
Введите четное число
20
number = 6.66666666666667
2 знака после запятой в pascal - number = 13.33
3 знака после запятой в pascal - number = 13.333
4 знака после запятой в pascal - number = 13.3333
5 знаков после запятой в pascal - number = 13.33333
 
Преобразуем наш код, чтобы пользователь сам решал, сколько ему необходимо знаков после запятой в вещественных числах. Для этого введем переменную n:
var number:Real;
          n:integer;
begin
    writeln('Введите четное число ');
  Readln(number);
    writeln('Введите количество знаков после запятой ');
  Readln(n);
 
  number:=number/3;
  writeln('number = ', number);
  writeln('n = ', n);
 
  writeln(n,' знака(ов) послез апятой в pascal - number = ', number+number:0:n);
end.
 
Результат:
Введите четное число
16
Введите количество знаков после запятой
4
number = 5.33333333333333
n = 4
4 знака(ов) после запятой в pascal - number = 10.6667
 
 
Rate this item
(1 Vote)