当前位置:  开发笔记 > 编程语言 > 正文

int(blah)将(blah)的不同答案作为int

如何解决《int(blah)将(blah)的不同答案作为int》经验,为你挑选了1个好方法。

新手ActionScript 3问题:为什么呢

(Math.sqrt((r * r - (r - i) * (r - i)) as Number) * 2) as int

给我一个不同的结果

int(Math.sqrt((r * r - (r - i) * (r - i)) as Number) * 2)

Andrew Champ.. 8

as运营商是直接投,而int()隐含发现号(请注意,它实际上并没有调用的地板Math.floor,虽然).所述的Adobe文档用于as说检查该"第一个操作数是由所述第二操作数指定的数据类型的成员".由于9.59不能表示为int,因此强制转换as无法返回null,而int()首先查找数字的下限,然后将其强制转换为int.

你可以做Math.floor(blah) as int,它应该工作,虽然它会更慢.假设你想要一个舍入的int,Math.round(blah) as int会更正确,但int(blah + .5)会更快和圆正确.



1> Andrew Champ..:

as运营商是直接投,而int()隐含发现号(请注意,它实际上并没有调用的地板Math.floor,虽然).所述的Adobe文档用于as说检查该"第一个操作数是由所述第二操作数指定的数据类型的成员".由于9.59不能表示为int,因此强制转换as无法返回null,而int()首先查找数字的下限,然后将其强制转换为int.

你可以做Math.floor(blah) as int,它应该工作,虽然它会更慢.假设你想要一个舍入的int,Math.round(blah) as int会更正确,但int(blah + .5)会更快和圆正确.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有