|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash影片的后缀名为.swf,该类型文件必须有flash播放器才能打开(包括各大浏览器,视频播放器),且播放器的版本须不低于FLASH程序自带播放器的版本。
poluoluo中心提醒:明天在公司,一同事问了我一个成绩,我想写一个办法,当吸收就任意长度整型数值的时分,我怎样只保存首位,其他位全体置为0呢。我思索了几秒钟:你能够先把整型参数用String强范例转换,看看字符串的长度,如许你就可以依据长度失掉首位的数字,前面再依据长度补零就好了
明天在公司,一同事问了我一个成绩,我想写一个办法,当吸收就任意长度整型数值的时分,我怎样只保存首位,其他位全体置为0呢。我思索了几秒钟:你能够先把整型参数用String强范例转换,看看字符串的长度,如许你就可以依据长度失掉首位的数字,前面再依据长度补零就好了。这时候他问道,可不成以欠亨过字符串转换,间接用整型来处置呢?因而我们入手下手研讨:
第一种做法:
- functionencoder(num:int):int{varsNum:int=num;varcount:int=0;while(true){count++;sNum/=10;if(sNum<10){sNum=Math.floor(sNum);break;}}returndecoder(sNum,count);}functiondecoder(num:int,step:int):int{var_num:int=num;for(vari:int=0;i<step;i++){_num*=10;}return_num;}
复制代码- 经由测试,这类做法是没有成绩的,可是这是否是最好的办法呢,固然不是,由于Math.floor()的缘故原由一定会招致效力下落一部分,有举措交换么,实在很复杂,间接用int()转换一下就好了。如许是最优做法么,固然还不是,看看上面这段代码:
复制代码 第二种做法:- functionencoder(num:int):int{vari:int=num;varj:int=1;while(i>10){j*=10;i=num/j;}returni*j;}
复制代码 这段代码信任人人都能看懂,它的优化在哪呢?比之前少了一个轮回,固然效力会年夜幅提拔了。我们只需再增加一个变量作为被乘数,如许就削减了一个轮回。这段代码基础已是效力很高了,但实在假如你够仔细的话,仍旧能够再举行优化,就是这句:i=num/j;我们把它交换成i*=.1;为何呢?由于在盘算机外部,乘运算比除运算要快。让我们看一下测试了局吧:- (右边是乘运算,右侧是除运算,单元:毫秒)当轮回100万次时:10281070104910651045106310241074当轮回1000万次时:10319107841046710625
复制代码 “fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。 |
|