flash as2求助
dushu=Math.ceil((kdtx-kdtx0)/6.400000E*1000)/1000;请详细解释一下意思,为何*1000,又除1000,还有E表示什么?谢谢...
dushu = Math.ceil((kdtx - kdtx0) / 6.400000E * 1000) / 1000;请详细解释一下意思,为何*1000,又除1000,还有E表示什么?谢谢
展开
1个回答
2013-11-29
展开全部
我不是已经解释了吗? 这是编译器编译后的代码,你如果看到源代码的话,它应该是这样的
dushu = Math.ceil((kdtx - kdtx0) / 6.400) / 1000
Math.ceil是向上取最大值整数,即1.1到1.9取为2 ,1.0取为1
先乘1000,再除1000的效果是一样的,
但如果先乘1000,然后使用Math.ceil向上取整,再除1000的效果就是,保留三位有效小数
如1.23456,乘1000,是 1234.56,Math.ceil后是 1235,除1000就是,1.235
这句代码推测是 计算坐标差kdtx - kdtx0,除以可拖动范围 6400,得出拖动比例,再保留3位小数
===============================================
抱歉,我是按常规算法来推算的,一时没留意你代码中 6.4E后跟的1000问题
你的kdtx我估计是预先处理过的,即/1000处理,类似
var kdtx:Number = 拖动前保存的坐标/1000
var kdtx:Number = this._xmouse/1000
所以其它其后直接 除 6.4,得出值后,再乘1000,向上提整,再除1000,保留三位小数,基本算法思路就是保留三位小数
dushu = Math.ceil((kdtx - kdtx0) / 6.400) / 1000
Math.ceil是向上取最大值整数,即1.1到1.9取为2 ,1.0取为1
先乘1000,再除1000的效果是一样的,
但如果先乘1000,然后使用Math.ceil向上取整,再除1000的效果就是,保留三位有效小数
如1.23456,乘1000,是 1234.56,Math.ceil后是 1235,除1000就是,1.235
这句代码推测是 计算坐标差kdtx - kdtx0,除以可拖动范围 6400,得出拖动比例,再保留3位小数
===============================================
抱歉,我是按常规算法来推算的,一时没留意你代码中 6.4E后跟的1000问题
你的kdtx我估计是预先处理过的,即/1000处理,类似
var kdtx:Number = 拖动前保存的坐标/1000
var kdtx:Number = this._xmouse/1000
所以其它其后直接 除 6.4,得出值后,再乘1000,向上提整,再除1000,保留三位小数,基本算法思路就是保留三位小数
一诺动画
2024-10-27 广告
2024-10-27 广告
Flash动画制作在北京一之诺文化传媒有限公司是一项创意与技术并重的服务。我们团队精通于利用Flash或兼容技术,将客户的想象转化为生动、流畅的动画作品。从概念设计到分镜脚本,再到精细的绘制与后期特效处理,每一步都力求完美呈现。无论是广告动...
点击进入详情页
本回答由一诺动画提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询