Chinaunix首页 | 论坛 | 博客
  • 博客访问: 619374
  • 博文数量: 72
  • 博客积分: 1177
  • 博客等级: 少尉
  • 技术积分: 856
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-23 23:03
文章分类

全部博文(72)

文章存档

2015年(13)

2014年(5)

2013年(7)

2012年(39)

2011年(8)

分类: 系统运维

2011-12-26 18:50:38

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

继续Google "actionscript check 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文件中。



转自:

阅读(3923) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~