Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Колво знаков после запятой


Автор: kosta 12.8.2005, 02:17
как собственно это регулировать?
Добавлено @ 02:18
регулировать нада при выводе куда либо

Автор: Vit 12.8.2005, 03:05
Команда Format - читать что сказано в помощи про параметер маски f до полного просветления

Автор: Grig 12.8.2005, 03:59
Vit, smile
а я вот так делаю.
Допустим число надо округлить до двух знаков после запятой.
Код

var n,m:real;
Function RoundMax(Num:real):real;
begin
  result:=round(num*100)/100;
end;
begin
m:=2.454567431;
n:=RoundMax(m); //n=2.45
end;

Хотя примерчик, по-поему из DRKB взял

Автор: Song 12.8.2005, 07:27
RoundTo()
SimpleRoundTo()

Unit Math

Автор: Alex 12.8.2005, 08:20
http://forum.vingrad.ru/index.php?act=ST&f=84&t=4357&st=0
http://vingrad.ru/DELPHI-DLP-000225
http://vingrad.ru/DELPHI-DLP-002940

Автор: mvdr 15.8.2005, 07:12
Цитата(Grig @ 12.8.2005, 04:59)
а я вот так делаю.
это не совсем округление, а скорее обрезание числа. К примеру: 3,9887 должно округлиться до 3,99 но если делать как ты делал - то будет 3,98.
Если точность не важна, то как ты делаешь - делать можно. А если важна?

Автор: PIF 16.8.2005, 15:48
Недавно для своих целий писал библиотеку котораю округляет число до заданного количества значащих цифр после запятой:
Код

library RND;
uses MAth;
var 
s:string;
rerror:real;
count,count1,count2,count3,rond,sumr,a:integer;
function errorg( error:real;round:integer):string;stdcall;
begin
count:=0;
repeat
error:=error*10;
count:=count+1;
until error>1;
rond:=round-1;
error:=roundto(error,-rond);
count1:=0;
repeat
count1:=count1+1;
error:=error/10;
until
count1=count;
sumr:=count+rond;
error:=Roundto(error,-sumr-1);
str(error:sumr:sumr,s);
result:=s;
end;
exports
errorg;
begin
end.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)