9.1 Lang库及其函数(1) - 编程吧

上一篇 | 下一篇

9.1 Lang库及其函数(1)

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 8次


9.1  Lang库及其函数
WMLScript的Lang库包含了一些与WMLScript语言核心数据相关的一些函数,使用这些函数可以实现WMLScript程序中的数据处理,如abort、abs、characterSet、exit、float、isFloat、isInt、max、maxInt、min、minInt、parseFloat、parseInt、random及seed等。

9.1.1  abs函数
abs函数用于返回给定数值的绝对值。如果给定的数值是个整数,那么返回值就是个整数;如果给定的数值是浮点数,那么返回的数值就是浮点数。如果给定的数值不符合WMLScript的数据类型要求,则返回invalid。abs函数的语法格式为:

Lang.abs(value)

它只有一个参数value,可取值为数值。

例如,下面两行语句就是使用abs函数的简单例子:

 

var a = -6;

var b = Lang.abs(a);        file://b = 6

 

第1条语句将-6赋给变量a,第2条语句利用abs函数求a的绝对值并把结果赋给变量b,所以此时b的结果为+6。

9.1.2  min函数
min函数用于求出两个给定数值中的较小数值。求出该数即选中该数并返回给调用min函数的语句或函数,返回数的类型和值与选中数的类型及值完全一致。min函数的语法格式如下:

Lang.min(value1, value2)

它有两个参数value1和value2,它们的取值必须是数值。如果它们取值的数据类型不同,则min函数将根据WMLScript的整数或浮点数的自动转换规则,将它们的值转换为同一种类型的数据,然后再进行比较,并从中选取较小的那个数。如果两个数相等,则选取第1个参数的数值。

如果value1和value2的数值类型不能转换为可以比较的数据类型,则min函数就会放弃它们的比较,而返回invalid,表示参数无效,不能比较。

例如,下面我们给出了几个使用min函数进行比较的语句,我们同时注释了它们的比较结果,大家可以从中分析一下min函数的工作方式:

 

var a=-3;

var b=Lang.abs(a);

var c=Lang.min(a,b);                      // 比较结果是c=-3

var d=Lang.min(45, 76.3);              // 比较结果是d=45 (整数)

var e=Lang.min(45, 45.0);              // 比较结果是e=45 (整数,因为要选择第1个数)

var e=Lang.min(45.0, 45);              // 比较结果是e=45.0 (浮点数,因为要选择第1个数)

 

 

9.1.3  max函数
与min函数相反,max函数用于求出两个给定数值中的较大数值。求出的数即是选中的较大的数,该数将返回给调用max函数的语句或函数,返回数的类型和值与选中数的类型和值完全一致。max函数的语法格式如下:

Lang.max(value1, value2)

它有也两个参数value1和value2,它们的取值必须是数值。如果它们取值的数据类型不同,则max函数将根据WMLScript的整数或浮点数的自动转换规则,将它们的值转换为同一种类型的数据,然后再进行比较,并从中选取较大的那个数。如果两个数相等,则选取第1个参数的数值。

如果value1和value2的数值类型不能转换为可以比较的数据类型,则max函数就会放弃它们的比较,而返回表示参数无效、不能比较的无效值invalid。

作为举例,我们给出几个使用max函数进行比较的语句,供大家参考:

 

var a=-3;

var b=Lang.abs(a);

var c=Lang.max(a,b);                       // 比较结果是c=3

var d=Lang.max(45.5, 76);              // 比较结果是d=76 (整数)

var e=Lang.max(45.0, 45);              // 比较结果是e=45.0 (浮点数,因为是取第1个数)

var e=Lang.max(45, 45.0);              // 比较结果是e=45 (整数,因为是取第1个数)

 

9.1.4  parseInt函数
parseInt函数用于返回字符串所定义的整数的数值。其前提是字符串中的内容及格式必须符合WMLScript关于字符串向整数转换的规则(参见7.6节),并且字符串分析时只要第1个字符不是正号(+)、负号(-)或十进位数字,那么转换分析就会结束。如果字符串无法转换成整数,则parseInt函数将返回无效值invalid。parseInt函数的语法格式为:

Lang.parseInt(value)

它只有一个参数value,其取值只能是字符串。下述两条语句给出了转换的例子:

 

var i=Lang.parseInt("1234");                  // 转换后i=1234

var j=Lang.parseInt("100 m/s");              // 转换后j=100

var k=Lang.parseInt("Abrt25Z6vd");               // 无法转换,返回k=invalid

 

9.1.5  parseFloat函数
parseFloat函数用于返回字符串所定义的浮点数的数值。与parseInt函数类似,parseFloat函数成功转换的其前提是,字符串中的内容及格式必须符合WMLScript关于字符串向浮点数转换的规则(参见7.6节)。如果字符串无法转换成浮点数或者程序环境不支持浮点数,则parseFloat函数将返回无效值invalid。parseFloat函数的语法格式为:

Lang.parseFloat(value)

它只有一个参数value,其取值只能是字符串。下述几条语句给出了字符串向浮点数转换的例子:

 

var a=Lang.parseFloat("123.7");                       // 转换结果为a=123.7

var b=Lang.parseFloat("+7.34e2 Hz");             // 转换结果为b=7.34e2

var c=Lang.parseFloat("70e-2 F");                    // 转换结果为c=70.0e-2

var e=Lang.parseFloat(" 100 ");                        // 转换结果为e=100.0

var f=Lang.parseFloat("Number:5.5");             // 无法转换,结果为f=invalid

var g=Lang.parseFloat("7.3e meters);               // 无法转换,结果为g=invalid

var h=Lang.parseFloat("7.3e- m/s);       &nbsp

此新闻共有2页 1 2

字号: | 推荐给好友

 

评分:0

我来说两句

seccode