flex中的int类型和Number类型

下午想写一个方法,根据对象的类型返回格式化后的字符串。对日期及字符串类型的相对容易判断,对数字型的本想做成如果是Number则显示2位小数(因系统中金额一般是显示2位小数)。于是开始研究怎么判断int和Number,写了一段测试代码打印出来后发现,不管声明一个对象o为int还是Number并赋值,o is int和o is Number似乎总是true。

继续Google "actionscript check int or number",看了一篇文章《[AS 3 ] check if a variable is "int" or "Number"》,并测试之后,得结论如下:

1.如果对象是int类型,则一定是Number类型。反之则不是。

2.如果只是声明不赋初值,则对象的类型与声明的类型一致。

3.常量数值的类型跟小数点没关系,跟小数点后有没有效数字有关。如3、3.00都是int类型,3.1才是Number类型。

4.将Number类型赋值给声明为int类型的对象时,数值会被取整并转成int类型。将int赋值给Number类型对象时,对象还是int类型,不会转成Number。

另外,在该文中看到getQualifiedClassName方法,搜flex帮助,在“Reducing SWF file sizes”中看到getQualifiedClassName的说明,该方法类似is运算符,也可以用来判断对象的类型,与is运算符不同,用is判断时,由于有引用到实际的类,所以会把类编译到swf中,但使用getQualifiedClassName时只是返回对象类型的字符串,所以判断时不会把类编译进swf文件中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值