作者eggegglai (蛋蛋)
看板C_Sharp
标题[问题] 关於double转int
时间Mon Apr 6 01:54:58 2009
小弟是刚学习cs的超新手 目前在学校的作业中遇到了一些麻烦
请问版上的各位高手们能帮忙解答
作业是要写一个码表+时钟
码表小弟已经写好了
但卡在时钟的指针绘图部分
老师给指针画法提示是假设圆心座标为(x, y),指针长度为L,
指针旋转角度为d(单位为径度),则直线另一个端点的座标为
(x+L*Math.Cos(d-Math.PI/2), y+L*Math.Sin(d-Math.PI/2))。
小弟根据老师的提示写时钟的部分如下:
Graphics gra = this.CreateGraphics();
Pen myPen = new Pen(Color.Red, 1);
gra.DrawLine(myPen, 150, 150,(150+50*Math.Cos(2*Math.PI/t-Math.PI/2),
(150+50*Math.Sin(2*Math.PI/t-Math.PI/2));
gra.DrawEllipse(myPen, 100, 100, 100, 100);
不过gra.DrawLine(myPen, 150, 150,(150+50*Math.Cos(2*Math.PI/t-Math.PI/2),
(150+50*Math.Sin(2*Math.PI/t-Math.PI/2));
这条出错,好像是因为gra.DrawLine输出是(pen,int,int,int,int)
而小弟的则是(pen,int,int,double,double)
那请问该怎麽把double转成int呢
还是小弟根本就搞错问题所在了
有请版大们解答
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.47.125
1F:推 james732:加上 (int) 就可以了 04/06 02:07
2F:→ james732:DrawLine(myPen, 150, 150,(int)(150+50*Math... (後略) 04/06 02:07
3F:→ eggegglai:喔喔那个部分没问题了..虽然小弟的程式还是写错了XD 04/06 02:12
4F:→ eggegglai:出来的画面不是时钟..不过double转int的问题解决了 04/06 02:13
5F:→ eggegglai:感激不尽 04/06 02:13