罗小叉吧 关注:111贴子:19,093
  • 2回复贴,共1

VBS系列课程--14

只看楼主收藏回复

原文地址:http://blog.sina.com.cn/s/blog_68d342d90100lfj5.html


1楼2010-09-10 19:18回复
    通过前边的课程,我们把sub过程、function函数、inputbox函数、msgbox函数都介绍完了,那么这节课我们再介绍几个VBS中常用的数学运算函数。
    1、     取绝对值
    格式:abs(x)
    功能:返回x的绝对值
    例如:
    Abs(521)=521
    Abs(-521)=521
    2、     取整
    格式1:int(x)
    格式2:fix(x)
    功能:返回X的整数部分。若x为负数,则int返回小于或等于x的第一个负整数,fix返回大于或等于x的第一个负整数,例如:
    Int(5.21)=5
    Fix(5.21)=5
    Int(-5.21)=-6
    Fix(-5.21)=-5
    3、     四舍五入
    格式1:cint(x)
    功能:将x的小数部分四舍五入后返回一个整数。例如:
    Cint(5.21)=5
    Cint(1.52)=2
    格式2:round(表达式,[要保留的小数部分位数])
    功能:返回表达式按指定的要保留的小数位数进行四舍五入后的结果,中括号表示“要保留的小数部分位数”这部分是可选项,如果不写这个选项,那么则将表达式四舍五入为整数。例如:
    Round(5.20521521,2)=5.21
    Round(5.20521521)=5
    4、     开平方
    格式:sqr(x)
    功能:返回x的平方根,x必须大于或等于0。例如:
    Sqr(36)=6
    5、     计算数学表达式
    格式:eval(数学表达式)
    功能:计算并返回数学表达式的值。例如:
    Eval(520+521/521)=521
    6、     随机数
    格式:rnd[(x)]
    功能:返回一个小于1但大于或等于0的随机数。若x<0,则每次产生的随机数都相同,若x>0或缺省(缺省就是不写的意思,我在这个格式里带的有中括号的,说明这个x是可以省略的),则产生与上次不同的新随机数;若x等于0,则每次产生的随机数与上次产生的随机数相同。例如:
    Rnd(-1)= .224007
    Rnd(1)= 3.584582E-02
    下面我们写一个脚本,把上面这些函数都用一遍:
    ------------------------vbs_9.htm------------------------
    <html>
    <head>
    <title>VBS系列课程--常用的数学运算函数示例</title>
    <script language="vbscript" for="button1" event="onclick">
    form1.textbox1.value=abs(521)
    form1.textbox2.value=abs(-521)
    form1.textbox3.value=int(5.21)
    form1.textbox4.value=fix(5.21)
    form1.textbox5.value=int(-5.21)
    form1.textbox6.value=fix(-5.21)
    form1.textbox7.value=Cint(5.21)
    form1.textbox8.value=Cint(1.52)
    form1.textbox9.value=Round(5.20521521,2)
    form1.textbox10.value=Round(5.20521521)
    form1.textbox11.value=Sqr(36)
    form1.textbox12.value=Eval(520+521/521)
    form1.textbox13.value=Rnd(-1)
    form1.textbox14.value=Rnd(-1)
    form1.textbox15.value=Rnd(1)
    form1.textbox16.value=Rnd(1)
    form1.textbox17.value=Rnd()
    form1.textbox18.value=Rnd()
    form1.textbox19.value=Rnd(0)
    form1.textbox20.value=Rnd(0)
    </script>
    </head>
    <body>
    <form name="form1">
    数值“521”被abx函数取绝对值后的结果为:
    <input type="textbox" name="textbox1">
    <br>
    数值“-521”被abx函数取绝对值后的结果为:
    <input type="textbox" name="textbox2">
    <br>
    数值“5.21”被int函数取整后的结果为:
    <input type="textbox" name="textbox3">
    <br>
    数值“5.21”被fix函数取整后的结果为:
    <input type="textbox" name="textbox4">
    <br>
    数值“-5.21”被int函数取整后的结果为:
    <input type="textbox" name="textbox5">
    


    2楼2010-09-10 19:19
    回复
      <br>
      数值“-5.21”被fix函数取整后的结果为:
      <input type="textbox" name="textbox6">
      <br>
      数值“5.21”被cint函数四舍五入后的结果为:
      <input type="textbox" name="textbox7">
      <br>
      数值“1.52”被cint函数四舍五入后的结果为:
      <input type="textbox" name="textbox8">
      <br>
      数值“5.20521521”被round函数保留2位小数四舍五入后的结果为:
      <input type="textbox" name="textbox9">
      <br>
      数值“5.20521521”被round函数不设置保留小数位四舍五入后的结果为:
      <input type="textbox" name="textbox10">
      <br>
      数值“36”被sqr函数开平方根后的结果为:
      <input type="textbox" name="textbox11">
      <br>
      数学表达式“520+521/521”被eval函数求出的值为:
      <input type="textbox" name="textbox12">
      <br>
      rnd函数的参数为“-1”时的随机数为:
      <input type="textbox" name="textbox13">
      <br>
      rnd函数的参数为“-1”时的随机数为:
      <input type="textbox" name="textbox14">
      <br>
      rnd函数的参数为“1”时的随机数为:
      <input type="textbox" name="textbox15">
      <br>
      rnd函数的参数为“1”时的随机数为:
      <input type="textbox" name="textbox16">
      <br>
      rnd函数的参数缺省时的随机数为:
      <input type="textbox" name="textbox17">
      <br>
      rnd函数的参数缺省时的随机数为:
      <input type="textbox" name="textbox18">
      <br>
      rnd函数的参数为“0”时的随机数为:
      <input type="textbox" name="textbox19">
      <br>
      rnd函数的参数为“0”时的随机数为:
      <input type="textbox" name="textbox20">
      <br>
      <br>
      <input type="button" name="button1" value="计算结果">
      </form>
      </body>
      </html>
      我们来看看效果:

      点击“计算结果”按钮:

      通过观察和计算,我发现脚本的计算结果并没有错误的地方,那就说明脚本完全成功运行了。
      好了,关于这些数学中常用的函数我们就说这么说了,下节课再见。


      3楼2010-09-10 19:19
      回复