查看: 609|回复: 0

[ASP函数] ASP自定义函数之Val()函数(等价于VB版的val())

[复制链接]
xuanxiao 发表于 2021-12-10 15:34:16 | 显示全部楼层 |阅读模式

  1. 'Val函数取值为从第一个字符取值,如果是数字就一直取到能识别的数字为止,第一个不是数字后面就停止识别,默认为取0值。

  2. Function Val(byval str)
  3.         Dim arr,validStr
  4.         Dim items,num
  5.         Dim         seenDot,seenDigit
  6.         num=0
  7.         Val = 0
  8.         validStr=""       
  9.                    seenDot = false
  10.                    seenDigit = false
  11.                          
  12.                 for i = 1 to len(str)
  13.                   items=mid(str,i,1)           
  14.                   
  15.                                          if  items="." and seenDot=false then
  16.                                                         seenDot = true
  17.                                                         validStr=validStr&items
  18.                                                        
  19.                                         elseif (items="-" or  items="+") and  seenDigit=false then
  20.                                                         validStr=validStr&items
  21.                                                        
  22.                                    elseif IsNumeric(items)=true then
  23.                                                         seenDigit = true
  24.                                                         validStr=validStr&items
  25.                                         elseif items=" " or isnull(items) then       
  26.                                        
  27.                                         else
  28.                                            exit for                                               
  29.                                         end if
  30.                          
  31.           next         
  32.          
  33.           if validStr<>"" then  val=CDbl(validStr) end if        
  34. End  Function

  35. print  val("  2  3   .  5  8  .  54")

  36. 输出结果:23.58
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号