`
xxwinnie
  • 浏览: 111545 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

Flex中强制类型转换

    博客分类:
  • Flex
阅读更多
在Flex中,如果要将String转换成Number,不能用 as Number, 而应该这样写: Number(str)
引用

使用 as 操作符有几个好处:

1.它的效果和第一种方法是一样的。
2.如果类型不兼容无法转换,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
3.没有运行时错误(Run Time Error)提示。

  不过有些时候我在使用 as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。为什么 as 操作符有时候会不好用呢?这个问题困扰了我很久,知道昨天在MXNA上发现了一篇日志,才恍然大悟:原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表请看这里)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:

num = str as Number;

  这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:

num = Number(str);


from: http://lixinye0123.iteye.com/blog/318185
因为好久没写AS了,居然犯了这个错误,还折腾了半天,实在是不应该!

然后关于日期控件(引用一篇文章):
引用

今天,鄙人被一个日期控件整了一天,究其原因还是数据库中保存为日期的类型的字段设为了Int(10),导致了越界,结果保存的日期老是1970年1月1日,真是狂汗!!!后来经过细心盘查,终于抓出元凶,吼吼~~
      具体方法:
                  1.日期控件的设置:
                  <mx:DateField id="ProductMake_txt" yearNavigationEnabled="true"
                       formatString="YYYY/MM/DD" dayNames="[日,一,二,三,四,五,六]"
                       monthNames="[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]"/>
                  2.把DateField中选中的时间转换为毫秒数,复制给Model中SCRQ属性,最后保存到数据库中:
                        u.SCRQ = ProductMake_txt.selectedDate.getTime();
                  3.将数据库中保存的毫秒数取出,在转化为用户可以接受的形式让DataGrid显示出来:
                    private function secondChangeDate(s:Number):String
                     {
                            var date:Date = new Date();
                            date.setTime(s);
                            var str:String = date.getFullYear() + "/" + (date.getMonth()+1)
                             + "/" + date.getDate();
                            return str;
                     }     
                    4.考虑到数据库中是double类型,而显示似乎要是String才比较方便,所以给Model增
                    加一个字段SCRQstr,专门用来给DataGrid显示用.     
                        u.SCRQstr = secondChangeDate(datas[i].SCRQ);
                  最后,被这个弱智问题烦了一天,有点 XXX,不过没有白忙活,最起码又多写了篇文章,希望对遇到类似问题的
                  大家有所帮助!鞠躬~


from: http://m.cnblogs.com/41766/1571240.html
分享到:
评论
1 楼 admin_gwx 2013-12-09  

相关推荐

    FLEX强制类型转换

    ### FLEX强制类型转换 在Flex开发中,类型转换是一个非常重要的概念,它涉及到如何将一个类型的对象转换为另一个类型的对象。特别是在ActionScript 3(AS3)中,强制类型转换是实现某些功能的关键手段之一。本文将...

    FLEX数据与通讯

    需要注意的是,当变量类型不同时,可能需要进行强制类型转换。例如,从`int`类型转换到`Number`类型可以使用`as`操作符或类型转换函数`(Number)`。 ```actionscript var a:int, b:int = 12; a = b; ``` **...

    flex开发技巧整理.pdf

    `as`关键字用于强制类型转换,但当尝试转换非有效数字时,如`var quantity:Number = 15 - "rabbits"`,虽然`typeof quantity`显示为"number",但实际值是NaN。此时,可以使用`isNaN()`函数检测变量是否包含有效数字...

    flex中使用的一些小知识

    - **应用场景**:当需要对数据进行排序、过滤或其他操作时,可以先将其转换为`ArrayCollection`类型。 ### 3. 打开新窗口 ```as3 navigateToURL(new URLRequest('http://ntt.cc'), '_blank'); ``` - **功能**:通过...

    Flex4 快捷键大全

    35. Alt+Shift+U:删除出现注释,移除代码中的特定注释类型。 36. Alt+Shift+V:移动 - 重构,将代码块移动到其他位置。 37. Alt+Shift+W:显示位置...,查找代码中的指定位置。 38. Alt+Shift+X,A到W:运行不同...

    Flex新手教程_入门级学习笔记

    ##### 数据类型转换 - **自动转换**:简单类型之间的转换。 - **显式转换**:使用 `as` 关键字进行类型强制转换。 ##### 实例方法, 实例变量 和 静态方法, 静态变量 - **实例方法/变量**:与对象关联,每次创建新...

    一个由MVC设计模式开发的例子,初学FLEX设计模式很好的资源

    父类是不能够获得子类派生的一些属性的,但是我们可以把event的类型强制转换成我们自定义的类型就可以获得子类中的属性了. 这样我们使用var evt:*事件类型=*事件类型(event);//强制转换事件类型 var caozuo:string=...

    Flex addChild()方法注意事项

    如果尝试直接添加,会遇到类型转换错误(TypeError),具体表现为“强制转换类型失败”,这是因为Flex的编译器无法将display object对象转换为UI组件。 三、正确添加Sprite和MovieClip的方法: 要在Flex应用中添加...

    Flex 非常实用的学习资料整理

    此外,文档中还提到了如何使用“as”关键字将变量强制转换为特定类型,并且涉及到“NaN”(不是一个数字)的概念,这是在处理数字变量时需要特别注意的问题。 Flex中的数据类型分为基元类型和复杂类型,类似于其他...

    AS3 Flex基础知识100条

    4. **对象类型转换**:`as`操作符用于将对象强制转换为其实际类型,如`var obj:Object = "Hello"; var str:String = obj as String;`。 5. **处理非数字(NaN)**:在AS3中,`isNaN()`函数用于检查值是否为非数字。...

    BlazeDS 数据通信技术

    通常情况下,Flex应用程序会使用BlazeDS作为中间层来调用远程服务,但这并非强制性的。开发人员也可以选择直接使用HTTPService或WebService来调用远程服务。 ##### 2.0 通道和通道设置 通道是Flex组件与BlazeDS...

    新技术培训 培训讲义1_AS3数据类型.doc

    【新技术培训 培训讲义1_AS3数据类型.doc】文档主要涵盖了ActionScript 3.0中的数据类型、类型转换以及运算符等基础知识。ActionScript 3.0是一种面向对象的编程语言,广泛应用于创建Flash动画和应用程序,其语法...

    java TO ArrayCollection

    2. 强制类型转换: `javalist = event.result as ArrayCollection;` 这种方式是利用AS3的类型转换机制,将Java的`List`对象强制转换为`ArrayCollection`。虽然这种方式看起来简单,但实际效果与第一种相同,都是...

    iPlatUI 前台开发指南

    - **JS中字符串转数字运算规则**:掌握三种字符串转数字的方法,包括转换函数、强制类型转换及利用变量弱类型转换。 - **转换函数**:如parseInt()、parseFloat()等。 - **强制类型转换**:使用Number()或+号等。...

    Using Graphic

    本教程将深入探讨如何在Flex环境中使用图形,以及它们与地图交互的方式。 一、GraphicsLayer与Graphics GraphicsLayer是ArcGIS API for Flex中的一个关键组件,它允许您在地图上覆盖图形对象。这些图形可以由用户...

    2015年WEB前端开发笔试题.pdf

    5. JavaScript类型转换:强制类型转换包括Number()、String()、Boolean();隐式转换则涉及值在运算、比较、条件语句中的自动转换,如“非零即真”原则、数字与字符串连接等。 6. JavaScript数据类型:JavaScript的...

    Ranorex用户指南

    强制一个测试用例失败 设置automation speed 访问测试用例和测试套件的上下文 高级代码示例 如何做基于图像的自动化 如何查找和比较图像 处理意外出现的对话框 [数据连接器] 管理数据源 数据连接器的类型 ...

    谈页面跳转的路由技术

    在实际应用中,可能会遇到像“TypeError: Error #1034: 强制转换类型失败”的错误,这是因为Module在使用某些Manager(如DragManager或PopUpManager)时,需要在Application中提前引入这些Manager的引用。...

Global site tag (gtag.js) - Google Analytics