第一次发表海报,c#beginner。
问题: 某些值导致计算不正确,但操作员显示正确的值(在调试时将鼠标悬停在其上) 变量值应为:49.9006 ... 但是存储了47.4344 ....
程序: 将螺旋分成弧形段。 输入:直线和曲线(曲线为圆或圆弧) 获取弧坐标,中心点和角。
代码段(所有变量都被定义为双精度,i& iNe除外,因为这些是因此定义为int的计数器)
for (i = 0; i < 20; i++)
{
iNe = i + 1;
if (i == 0)
nRay = 0;
else
nRay = this.RadiusBase / i;
nRayNe = this.RadiusBase / iNe;
nAng = this.Alpha * i;
nAngNe = this.Alpha * iNe;
if (i == 0)
{
cumAng = 0;
cumAngNe = cumAng + nAngNe;
}
else
{
cumAng = nAng + cumAng;
cumAngNe = cumAng + nAngNe;
}
nSin = Math.Sin(cumAng);
nSinNe = Math.Sin(cumAngNe);
nCos = Math.Cos(cumAng);
nCosNe = Math.Cos(cumAngNe);
n1minCos = 1 - nCos;
nXjonc = nXcp + ((double)iNe * (nXcpNe - nXcp));
nYjonc = nYcp - ((double)iNe * (nYcp - nYcpNe));
我做错了什么?