program Project2_12;
{$APPTYPE CONSOLE}
uses Sysutils;
function ShowNum(Num:Double;Precision:Integer = 4):Boolean; (* Precision:Integer = 4 这里是怎么回事?赋值?赋值应该是:=啊,还有,给形参赋值,这是个啥意思? *)
var MesStr : string;
begin
if Precision <= -1 then
begin
result := false ; (* 平白无故地钻出来个result,这又是怎么回事? *)
exit; (* 这个也是这样,平白无故地钻出来个exit,这又是怎么回事?*)
end
else
begin
MesStr := Format('%*.*f', [10, Precision, Num]); (* 我知道这是个Format函数,网上也有一大堆Format介绍,但我想知道这里的每个参数的准确意思,如,% * . * f 10 Precision Num *)
result := true ;
end ;
Writeln(MesStr);
end ;
begin
ShowNum ( 123.456789) ;
ShowNum(123,5);
ShowNum(123.456789,9);
ShowNum(22 div 7,5);
if ShowNum(123.456789,-3)=False then
Writeln('数据格式设置错误,输出失败。');
Writeln('按下回车键<Enter>退出。');
Readln;
end.
{$APPTYPE CONSOLE}
uses Sysutils;
function ShowNum(Num:Double;Precision:Integer = 4):Boolean; (* Precision:Integer = 4 这里是怎么回事?赋值?赋值应该是:=啊,还有,给形参赋值,这是个啥意思? *)
var MesStr : string;
begin
if Precision <= -1 then
begin
result := false ; (* 平白无故地钻出来个result,这又是怎么回事? *)
exit; (* 这个也是这样,平白无故地钻出来个exit,这又是怎么回事?*)
end
else
begin
MesStr := Format('%*.*f', [10, Precision, Num]); (* 我知道这是个Format函数,网上也有一大堆Format介绍,但我想知道这里的每个参数的准确意思,如,% * . * f 10 Precision Num *)
result := true ;
end ;
Writeln(MesStr);
end ;
begin
ShowNum ( 123.456789) ;
ShowNum(123,5);
ShowNum(123.456789,9);
ShowNum(22 div 7,5);
if ShowNum(123.456789,-3)=False then
Writeln('数据格式设置错误,输出失败。');
Writeln('按下回车键<Enter>退出。');
Readln;
end.
2、result函数返回值变量,系统自动声明的
3、exit是一个系统函数,作用为退出过程或函数
4、Format('%*.*f', [10, Precision, Num]); 是以精确10位方式显示浮点数
{$APPTYPE CONSOLE}
uses Sysutils;
function ShowNum(Num:Double;Precision:Integer = 4):Boolean;
//(* Precision:Integer = 4 这里是怎么回事?赋值?赋值应该是:=啊,还有,给形参赋值,这是个啥意思? *)
//Precision:Integer = 4默认数值是4,你可以在调用的时候仅仅shownum(123456.123);
var MesStr : string;
begin
if Precision <= -1 then
begin
result := false ;
// (* 平白无故地钻出来个result,这又是怎么回事? *)
//函数的返回值有两个办法,第一个是result:=...
// 第二个是直接用函数名代替。
exit;
// (* 这个也是这样,平白无故地钻出来个exit,这又是怎么回事?*)
//下边的不执行,直接退出。
end
else
begin
MesStr := Format('%*.*f', [10, Precision, Num]);
//(* 我知道这是个Format函数,网上也有一大堆Format介绍,但我想知道这里的每个参数的准确意思,如,%*.*f 10 Precision Num *)
//%*.*f是格式化字符串,格式化后的就是这样的形式。
//10,是以精确10位方式显示浮点数
//第一个*是Precision
//第二个*是NUM。
result := true ;
end ;
Writeln(MesStr);
end ;
begin
ShowNum ( 123.456789) ;
ShowNum(123,5);
ShowNum(123.456789,9);
ShowNum(22 div 7,5);
if ShowNum(123.456789,-3)=False then
Writeln('数据格式设置错误,输出失败。');
Writeln('按下回车键<Enter>退出。');
Readln;
end.