《第6章数学计算》由会员分享,可在线阅读,更多相关《第6章数学计算(19页珍藏版)》请在金锄头文库上搜索。
1、第第6 6章章 数学计算数学计算在编程语言当中数学计算是非常重要的一个方面。在编程语言当中数学计算是非常重要的一个方面。ActionScript3.0中除了提供基本数学运算之外还提供了基中除了提供基本数学运算之外还提供了基本的数学计算类。本章中针对本的数学计算类。本章中针对ActionScript3.0当中的数学当中的数学计算进行详细的介绍。内容包括:计算进行详细的介绍。内容包括:数字在数字在ActionScript 3.0中的表现形式中的表现形式Math类的使用方法类的使用方法Flex应用中数字的格式化输出应用中数字的格式化输出Flex应用中的数字验证应用中的数字验证6.16.1数字的表现数
2、字的表现在在ActionScript3.0当中默认使用十进制的方式定义数字,但当中默认使用十进制的方式定义数字,但支持各种进制的方式定义数字。这些进制之间的数字可以支持各种进制的方式定义数字。这些进制之间的数字可以进行转换。本节中针对这些进制的表现和转换进行详细讲进行转换。本节中针对这些进制的表现和转换进行详细讲解。解。6.1.1 6.1.1 各种数字进制表现各种数字进制表现在在ActionScript3.0当中默认是以十进制的方式定义数字,也当中默认是以十进制的方式定义数字,也支持适用十六进制的方式定义数字。支持适用十六进制的方式定义数字。十六进制经常表示十六进制经常表示RGB颜色,颜色,0
3、X或或0x开头的数字为十六进开头的数字为十六进制数,十六进制有制数,十六进制有09和和AF字符组成,没有大小写之字符组成,没有大小写之分。分。6.1.2 6.1.2 进制转换进制转换ActionScript 3.0不但可以定义十六进制数值,还可以通过数不但可以定义十六进制数值,还可以通过数值类的值类的toString(radix=10)方法,将十进制或者十六进制的方法,将十进制或者十六进制的数值转换为任意进制的数值。数值转换为任意进制的数值。toString方法定义如下所示。方法定义如下所示。toString(radix=10):String6.2 Math6.2 Math类简介类简介Acti
4、onScript 3.0当中内建了针对数学计算的类当中内建了针对数学计算的类Math类。类。Math类是类是ActionScript 3.0当中的顶级类,也就是说当中的顶级类,也就是说Math类是可以直接引用的类。同时类是可以直接引用的类。同时Math类提供的方法都是静类提供的方法都是静态方法,在使用的时候不用去声明态方法,在使用的时候不用去声明Math类的实例。类的实例。Math类提供了一系列数值计算的方法。使用这些方法可以方便类提供了一系列数值计算的方法。使用这些方法可以方便地在程序中进行数值计算。地在程序中进行数值计算。Math类提供的方法和属性分类提供的方法和属性分为常用计算方法、三角
5、函数计算方法和常量值三种。为常用计算方法、三角函数计算方法和常量值三种。6.3 Math6.3 Math类常用方法类常用方法前面介绍了前面介绍了Math类提供的方法和常量值,本节中详细讲解类提供的方法和常量值,本节中详细讲解如何在程序中使用这些方法和常量值进行数值计算。如何在程序中使用这些方法和常量值进行数值计算。6.3.1 6.3.1 常用计算常用计算针对数值计算而言有几种经常在程序中使用,这些计算方法针对数值计算而言有几种经常在程序中使用,这些计算方法ActionScript 3.0已经在已经在Math类当中提供了。本小节当中类当中提供了。本小节当中通过实例详细讲解这些方法的使用。通过实例
6、详细讲解这些方法的使用。6.3.2 三角函数三角函数是最常用的数学函数,在图形处理和数学计算中经三角函数是最常用的数学函数,在图形处理和数学计算中经常需要使用到三角函数。所以在常需要使用到三角函数。所以在ActionScript 3.0中针对中针对三角函数进行了全面的支持并提供了各种内置处理函数。三角函数进行了全面的支持并提供了各种内置处理函数。 6.3.3 6.3.3 常量的使用常量的使用常量值是标准的数学常量。在进行科学计算时可以直接引用常量值是标准的数学常量。在进行科学计算时可以直接引用这样就会大大方便开发人员。这样就会大大方便开发人员。6.4 Flex6.4 Flex应用中的数字格式化
7、输出应用中的数字格式化输出在实际的企业级应用当中经常使用金额的计算,这样就需要在实际的企业级应用当中经常使用金额的计算,这样就需要将数字按照金额的格式进行输出。在将数字按照金额的格式进行输出。在ActionScript 3.0语言语言的基础类库中不提供这种格式化的输出。但在的基础类库中不提供这种格式化的输出。但在Flex 3当中当中提供这种格式化的类。本节中详细介绍如何在提供这种格式化的类。本节中详细介绍如何在Flex 3应用应用中使用格式化输出数字。中使用格式化输出数字。6.4.1 6.4.1 CurrencyFormatterCurrencyFormatter标签介绍标签介绍Currenc
8、yFormatter标签是标签是Flex当中的一个当中的一个MXML标签。标签。Flex应用是基于应用是基于ActionScript 3.0语言和语言和MXML标签进行标签进行开发的开发的RIA应用。实际上每一个应用。实际上每一个MXML标签都对应一个标签都对应一个或者多个或者多个ActionScript 3.0类。在编译时由编译器将类。在编译时由编译器将MXML标签和标签和ActionScript 3.0共同编译成为共同编译成为SWF文件。文件。可以说可以说MXML标签是由多个标签是由多个ActionScript 3.0类组成的高类组成的高度复用的可视化开发组件。度复用的可视化开发组件。6.
9、4.2 6.4.2 使用使用CurrencyFormatterCurrencyFormatter标签标签使用使用CurrencyFormatter标签可以很标签可以很容易地在容易地在Flex应应用中转换数值格用中转换数值格式。本小节中通式。本小节中通过过【示例示例】说明说明如何使用如何使用CurrencyFormatter标签进行数标签进行数值格式转换。值格式转换。6.4.3 6.4.3 使用使用CurrencyFormatterCurrencyFormatter类类6.4.2小节中提到可以直接使用小节中提到可以直接使用ActionScript 3.0的类替代标签。的类替代标签。6.5 Fle
10、x6.5 Flex应用中的数字验证应用中的数字验证在在RIA应用当中经常使用到针对数字正确性的验证。与格式应用当中经常使用到针对数字正确性的验证。与格式化输出一样,只在化输出一样,只在Flex 3当中提供这种验证的类。本节中当中提供这种验证的类。本节中详细介绍如何在详细介绍如何在Flex 3应用中进行数字正确性的验证。应用中进行数字正确性的验证。6.5.1 6.5.1 NumberValidatorNumberValidator标签介绍标签介绍NumberValidator标签是用于验证数字输入的标签。这个标标签是用于验证数字输入的标签。这个标签同时对应了一个签同时对应了一个ActionScr
11、ipt 3.0的的NumberValidator类,类,这个类位于这个类位于mx.validators包下,继承于包下,继承于Validator类。类。NumberValidator是是Flex中验证的一种,用于数字验证。中验证的一种,用于数字验证。在后面的章节会详细讲解其他验证的方法。同样只有在在后面的章节会详细讲解其他验证的方法。同样只有在Flex应用中可以引用到这个类,在一个纯粹的应用中可以引用到这个类,在一个纯粹的ActionScript 3.0项目中是无法引用到这个类的。项目中是无法引用到这个类的。6.5.2 6.5.2 使用使用NumberValidatorNumberValida
12、tor标签标签使用使用NumberValidator标签可以很容易的在标签可以很容易的在Flex应用中验证应用中验证数值格式并给于用户提示。数值格式并给于用户提示。6.5.3 6.5.3 使用使用NumberValidatorNumberValidator类类同样可以使用同样可以使用NumberValidator类代替类代替NumberValidator标签。由标签。由于于NumberValidator类验证后需要触发事件通知用户,所以需类验证后需要触发事件通知用户,所以需要构建响应事件的事件处理过程。要构建响应事件的事件处理过程。6.6 6.6 常见面试题常见面试题本章中经常遇到的面试题主要
13、集中在数字进值转换,本章中经常遇到的面试题主要集中在数字进值转换,Math类的使用和类的使用和Flex应用中数字格式化处理与验证几个方面。应用中数字格式化处理与验证几个方面。具体问题如下。具体问题如下。1如何将如何将10进制的数值转化为其他进制的数值?进制的数值转化为其他进制的数值?2ceil、floor、round都是取整的方法有什么不同?都是取整的方法有什么不同?3列举一个列举一个Math类的常量?类的常量?6.7 6.7 小结小结本章中详细的从数值计算、格式化和验证的方面描述了如何在本章中详细的从数值计算、格式化和验证的方面描述了如何在ActionScript 3.0中数值的使用。在一个
14、完整的应用中数值计算中数值的使用。在一个完整的应用中数值计算是不可或缺的部分。在是不可或缺的部分。在ActionScript 3.0中使用数值计算可以大中使用数值计算可以大大的减少服务端的计算压力。采用良好的数值格式显示和数值大的减少服务端的计算压力。采用良好的数值格式显示和数值输入验证也可以提高程序的交互性。在输入验证也可以提高程序的交互性。在ActionScript 3.0中使用中使用数值计算、数值格式化和验证要注意以下几个问题。数值计算、数值格式化和验证要注意以下几个问题。在进行计算之前一定要明确参与运算的是整数还是实数。在进行计算之前一定要明确参与运算的是整数还是实数。对于取整一定要明确取整的类型是向上取整,向下取整还是四舍对于取整一定要明确取整的类型是向上取整,向下取整还是四舍五入。五入。对于金额的计算建议使用整型计算然后移动小数位,这样不容易对于金额的计算建议使用整型计算然后移动小数位,这样不容易产生误差。产生误差。对于验证用户的输入要明确要验证的数值类型。对于验证用户的输入要明确要验证的数值类型。对于格式化输出金额一定要在完成运算后进行格式化输出。对于格式化输出金额一定要在完成运算后进行格式化输出。