//角度类的申明
type
TJiao = class
Du: integer;
fen: integer;
miao: double;
private
public
function SetJiao(vd: integer; vf: integer; vm: double): boolean; overload;
function SetJiao(vs: string): boolean; overload;
end;问如何写两角加和减的函数,我这里的函数原来秒是整形的,现要改为double型,如何修改程序????
// function
function JiaoJia(vj1,vj2: TJiao): TJiao;
var
rj: TJiao;
begin
rj:=TJiao.Create;
rj.Du:=vj1.Du+vj2.Du;
rj.fen:=vj1.fen+vj2.fen;
rj.miao:=vj1.miao+vj2.miao;
rj.fen:=rj.fen+(rj.miao div 60);
rj.miao:=(rj.miao mod 60);
rj.Du:=rj.Du+(rj.fen div 60);
rj.fen:=(rj.fen mod 60);
rj.Du:=(rj.Du mod 360);
result:=rj;
end;// function
function JiaoJian(vj1,vj2: TJiao): TJiao;
var
rj,ry: TJiao;
begin
rj:=TJiao.Create;
ry:=TJiao.Create;
ry.SetJiao(360,0,0);
rj.Du:=vj1.Du-vj2.Du;
rj.fen:=vj1.fen-vj2.fen;
rj.miao:=vj1.miao-vj2.miao;
while(rj.miao<0) do
begin
rj.fen:=rj.fen-1;
rj.miao:=rj.miao+60;
end;
while(rj.fen<0) do
begin
rj.Du:=rj.Du-1;
rj.fen:=rj.fen+60;
end;
While(rj.Du<0) do
rj:=JiaoJia(rj,ry);
result:=rj;
ry.Free;end;有一个double类型的角度,如 24.754621度,如何得到度(int),分(int),秒(double)求这样一个函数 btw, double类型取整的函数是什么?
type
TJiao = class
Du: integer;
fen: integer;
miao: double;
private
public
function SetJiao(vd: integer; vf: integer; vm: double): boolean; overload;
function SetJiao(vs: string): boolean; overload;
end;问如何写两角加和减的函数,我这里的函数原来秒是整形的,现要改为double型,如何修改程序????
// function
function JiaoJia(vj1,vj2: TJiao): TJiao;
var
rj: TJiao;
begin
rj:=TJiao.Create;
rj.Du:=vj1.Du+vj2.Du;
rj.fen:=vj1.fen+vj2.fen;
rj.miao:=vj1.miao+vj2.miao;
rj.fen:=rj.fen+(rj.miao div 60);
rj.miao:=(rj.miao mod 60);
rj.Du:=rj.Du+(rj.fen div 60);
rj.fen:=(rj.fen mod 60);
rj.Du:=(rj.Du mod 360);
result:=rj;
end;// function
function JiaoJian(vj1,vj2: TJiao): TJiao;
var
rj,ry: TJiao;
begin
rj:=TJiao.Create;
ry:=TJiao.Create;
ry.SetJiao(360,0,0);
rj.Du:=vj1.Du-vj2.Du;
rj.fen:=vj1.fen-vj2.fen;
rj.miao:=vj1.miao-vj2.miao;
while(rj.miao<0) do
begin
rj.fen:=rj.fen-1;
rj.miao:=rj.miao+60;
end;
while(rj.fen<0) do
begin
rj.Du:=rj.Du-1;
rj.fen:=rj.fen+60;
end;
While(rj.Du<0) do
rj:=JiaoJia(rj,ry);
result:=rj;
ry.Free;end;有一个double类型的角度,如 24.754621度,如何得到度(int),分(int),秒(double)求这样一个函数 btw, double类型取整的函数是什么?
解决方案 »
- 请高人看看,有没有这样的DBGRID控件。
- 在delphi中如何把两个表链接起来?
- 如何讓webbrowser開啟網頁后執行一個外部JS
- 你这样的怎么做才比较理想?
- 求教一个DLL函数调用的问题
- 接口在程序中起什么做用呀,为什么要用到接口呢,有什么好处呢,指点一下
- 非常奇怪的問題求救!!!
- ***唉!!!!我愚笨死了,一下午了,没解决,跪求高手,请帮忙!!!!!!
- 求教:在程序中调用存储过程中创建数据库任务的过程,程序中提示参数类型不匹配
- LMD5.04控件到底怎么安装,我为何不行,请给一个具体的过程??
- 有什么办法,可以使用API进入网站,可是不让IE窗口显示出来.
- 求助关于delphi输出到excel的问题
你的TJiao函数可以修改一下。
提供将类转换为double和将double转换为类的函数,
然后加、减就直接加减double值就可以了。