为您推荐:
精华内容
最热下载
问答
  • 5星
    5.47MB zhangjin7422 2021-01-28 10:18:50
  • 5星
    1.45MB zhangjin7422 2021-04-07 09:24:30
  • 5星
    49KB weixin_58444518 2021-05-21 11:46:39
  • 4星
    36KB gaorui68 2010-06-07 10:45:41
  • VB总结(1)常用内部函数——计算函数字符函数转换函数,日期函数经过2周半左右的时间,博主终于认认真真刷完了一本600页的VB教程。。。因为VB是博主接触的第一门编程语言,之前有零散的学过一点,所以系统的学...

    VB常用内部函数——计算函数,字符函数,转换函数,日期函数

    经过2周半左右的时间,博主终于认认真真刷完了一本600页的VB教程。。。

    因为VB是博主接触的第一门编程语言,之前有零散的学过一点,所以系统的学起来还是蛮快的。

    话不多说,第一篇是关于VB的4类常用内部函数

    1.计算函数

    Sqr(x) 求x的算数平方根值

    Log(x) 求以e为底的自然对数

    Exp(x) 求e的x次方

    Abs(x) 求x的绝对值

    Hex(x) 求x的十六进制数

    Oct(x) 求x的八进制数

    Rnd 返回一个0到1之间的随机数,使用前加一句Randomize

    比如产生2到9的随机数,可以这么写
    Randomize
    Dim r as integer
    r=(9-2)*Rnd +2
    '即先用7*Rnd,得到0到7的随机数,再加2即可。
    

    Sgn(x) 求x的符号,x>0 返回1 , x<0 返回-1

    Sin(x) 正弦

    Cos(x) 余弦

    Tan(x) 正切

    Atn(x) 反正切arctan

    2.字符函数

    Len(s) 求s字符串的长度(返回字符个数)

    Left(s,n) 返回s字符串左起前n个字符组成的字符串

    Right(s,n) 返回s字符串右起的n个字符组成的字符串

    Mid(s,n1,n2) 返回 从字符串s的第n1个字符开始的连续n2个字符组成的字符串

    Ucase(s) 将s字符串中的字母全转化为大写

    Lcase(s) 将s字符串中的字母全转化为小写

    Trim(s) 去掉s字符串里的前后的所有空格

    Ltrim(s) 去掉s字符串里的左边的所有空格

    Rtrim(s) 去掉s字符串里的右边的所有空格

    Instr(n,s,s1) 从s字符串中第n个字符开始查找s1字符串,并返回位置,未找到返回0。 注意这里n最小是1,即从第一个字符开始找。

    String(n,”字符”) 返回由n个指定字符组成的字符串

    Space(n) 返回n个空格组成的字符串

    3 转换函数

    str(x) 将数值数据x转换成字符串

    val(x) 将字符串x中的数字转换成数值

    chr(x) 返回以x为ascii码的字符

    asc(x) 返回字符x的ascii码(十进制)

    cint(x) 将数值数据x的小数部分四舍五入取整

    fix(x) 将数值数据的小数部分社区

    int(x) 取小于或等于x的最大整数

    cbool(x) 将任何有效的字符串或数值转换成字节型

    cbyte(x) 将0到255之间的数值转换为字节型

    cdate(x) 将有效的日期字符串转换为日期型

    ccur(x) 将数值型数据x转换成货币型

    cing(x) 将数值型数据x转换为长整型,小数部分四舍五入

    cdbl(x) 将数值型数据x转化成双精度型数据

    csng(x) 将数值型数据x转换成单精度型数据

    cvar(x) 将数值型数据转换成变体型,x若为变体型,则取值范围同双精度型,若为字符串型,则取值范围同字符型

    cstr(x) 将x转换成字符串型

    4.日期时间函数

    date 返回系统日期如 “2016/11/25 星期五”

    time 返回系统时间 如 “PM 6:55:19”

    now 返回系统日期和时间 如 “2016/11/25 星期五 PM 6:55:19”

    year(x) 返回日期型x中的年份integer型,如 2016

    month(x) 返回日期型x中的月份integer型, 如 11

    day(x) 返回日期型x中的天integer型,如 25

    weekday(x) 返回日期型x是一周的第几天integer型,注意这里从周日算第一天,周五返回6,周六返回7,周日返回1

    结束

    展开全文
    wf824284257 2016-11-25 19:09:30
  • 5星
    10KB qq_28377731 2017-07-12 20:59:37
  • VB字符串处理函数一览 mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]  例如 mid("小欣无敌",1,3) 则返回 "小欣无"  instr(从第几个开始,字符串1,...

    VB字符串处理函数一览


    mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]  
    例如 mid("小欣无敌",1,3) 则返回 "小欣无"  

    instr(从第几个开始,字符串1,字符串2) ByVal 从规定的位置开始查找,返回字符串2在字符串1中的位置  
    例如 instr(1,"小欣无敌","小") 则返回 1,instr(2,"小欣无敌","小"),则返回 0 。 0 表示未找到  

    InStrRev(字符串1,字符串2,从第几个开始) ByVal 从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。  
    例如 instrRev("小欣无敌","小",2) 则返回 2 ; instrRev("小欣无敌","欣",1) 则返回 0 ,因为它从"小欣无敌"的第1个字开始往前查找,所以找不到 。0 表示未找到  

    left(字符串,长度) ByVal 从[字符串]的左边开始返回[长度]个字符  
    例如 Left("小欣无敌,3) 则返回 "小欣无"  

    right(字符串,长度) ByVal 从[字符串]的右边开始返回[长度]个字符  
    例如 Right("小欣无敌",3) 则返回 "欣无敌"  

    ucase(字符串) ByVal 返回[字符串]的大写形式,只对英文字符有效  
    例如 ucase("xiaoXINwuDi") 则返回 "XIAOXINWUDI"  



    lcase(字符串) ByVal 返回[字符串]的小写形式,只对英文字符有效  
    例如 lcase("xiaoXINwuDi") 则返回 "xiaoxinwudi"  

    asc(字符) Byval返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程  
    例如 asc("小") 则返回 -12127 ; asc("小欣无敌") 也返回 -12127  

    chr(ASCii编码) Byval 返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程  
    例如 chr(-12127) 则返回 "小" ;chr(asc("小")) 则返回"小"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本)  

    trim(字符串) Byval 返回去掉了前、后之后的[字符串]  
    例如 trim("   小 欣   无敌   ") 则返回 "小 欣   无敌" ,中间的空格不受任何影响  

    string(个数,字符) Byval 返回[个数]个[字符]  
    例如 string(3,"小") 则返回 "小小小" , 而 string(3,"小欣无敌") 也返回 "小",只有首字符才有效  

    space(个数) Byval 返回[个数]个空格  
    例如 space(5) 则返回 "   "  

    strconv(字符串,转换的类型) Byval 将字符串转成指定的类型。常用的类型只有两个,vbwide 半角转成全角,vbNarrow 全角转成半角  
    例如 strconv("xiao",vbwide) 则返回 "XIAO",而strconv("XIAO",vbnarrow) 则返回 "XIAO"  
    ’备注 vbwide = 4 ,vbnarrow = 8  

    len(字符串) Byval 返回[字符串]的长度  
    例如 len("小欣无敌") 则返回 4

    字节操作函数
    midb()
    leftb()
    rightb()
    chrb()
    lenb()

    UNICODE的ASC码处理
    chrw()
    ascw()

    去空格
    ltrim
    rtirm

    拆分合并
    split()
    join()

    翻转
    srereverse()

    替换
    replace()
    AscB(String As String) As Byte
    返回字符串中第一个字节的值
    例如:AscB("坦然")则返回102

    AscW(String As String) As Integer
    返回字符串中第一个字符的本机字符代码 (Unicode 或 ANSI)
    例如:AscW("坦然")则返回22374

    ChrW(CharCode As Long)
    返回一个包含指定本机字符的字符串(Unicode 或 ANSI)
    例如:ChrW(22374)则返回"坦"

    Filter(InputStrings, Value[, Include[, Compare]])
    返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。
    InputStrings 必需的。要执行搜索的一维字符串数组。 
    Value 必需的。要搜索的字符串。 
    Include 可选的。Boolean值,表示返回子串包含还是不包含Value字符串。如果Include是True,Filter返回的是包含Value子字符串的数组子集。如果Include是False,Filter返回的是不包含Value子字符串的数组子集。 
    Compare 可选的。数字值,表示所使用的字符串比较类型。有关其设置,请参阅下面的“设置值”部分。 
    Compare参数的设置值如下:
    vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。 
    vbBinaryCompare 0 执行二进制比较。 
    vbTextCompare 1 执行文字比较。 
    vbDatabaseCompare 2 只用于Microsoft Access。基于您的数据库信息来执行比较。 
    例如:
    Dim a(3) As String
    a(0) = "坦"
    a(1) = "坦然"
    a(2) = "坦然面"
    a(3) = "坦然面对"
    b = Filter(a, "然")
    则b(0) = "坦然"
    b(1) = "坦然面"
    b(2) = "坦然面对"

    Join(list[, delimiter]) As String
    返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。
    list 必需的。包含被连接子字符串的一维数组。 
    delimiter 可选的。在返回字符串中用于分隔子字符串的字符。如果忽略该项,则使用空格(" ")来分隔子字符串。如果delimiter是零长度字符串(""),则列表中的所有项目都连接在一起,中间没有分隔符。 
    例如:
    Dim a(3) As String
    a(0) = "坦"
    a(1) = "坦然"
    a(2) = "坦然面"
    a(3) = "坦然面对"
    b = Join(a, "+")
    则b = "坦+坦然+坦然面+坦然面对"

    LeftB(String, Length As Long)
    从一个字符串的左边起返回指定数目的字节
    例如:
    a = LeftB("坦然面对", 4)
    则a = "坦然"

    LenB(Expression)
    返回存储一个变量所需的字节数
    例如:a = LenB("坦然面对")
    则a = 8

    LTrim(String)
    返回无前导空格的字符串的备份
    RTrim(String)
    返回一个无后缀空格的字符串的备份
    例如:
    a = LTrim(" 坦然面对 ")
    b = RTrim(" 坦然面对 ")
    则a = "坦然面对 "
    b = " 坦然面对"

    MidB(String, Start As Long, [Length])
    从一个字符串中返回指定数目的字节
    例如:
    a = MidB("坦然面对", 3, 4)
    则a = "然面"

    MonthName(Month As Long, [Abbreviate As Boolean = False]) As String
    返回一个表示指定月份的字符串。
    abbreviate 可选的。Boolean值,表示月份名是否缩写。如果忽略,缺省值为False,表明月份名不能被缩写。 
    例如:
    a = MonthName(5)
    则a = "五月"

    Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
    返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
    expression 必要参数。任何有效的表达式。 
    format 可选参数。有效的命名表达式或用户自定义格式表达式。 
    firstdayofweek 可选参数。常数,表示一星期的第一天。 
    firstweekofyear 可选参数。常数,表示一年的第一周。 
    firstdayofweek 参数有下面设置:
    vbUseSystem 0 使用 NLS API 设置。 
    VbSunday 1 星期日(缺省) 
    vbMonday 2 星期一 
    vbTuesday 3 星期二 
    vbWednesday 4 星期三 
    vbThursday 5 星期四 
    vbFriday 6 星期五 
    vbSaturday 7 星期六 
    firstweekofyear 参数有下面设置:
    vbUseSystem 0 使用 NLS API 设置。 
    vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。 
    vbFirstFourDays 2 从本年第一周开始,而此周至少有四天在本年中。 
    VbFirstFullWeek 3 从本年第一周开始,而此周完全在本年中。

    示例
    a = Format(#4/19/2008 1:01:05 PM#, "yyyy-mm-dd,ddd,hh:mm:ss")
    a = "2008-04-19,Sat,13:01:05"
    a = Format(#4/19/2008 1:01:05 PM#, "yyyy-mm-dd,dddd,h:m:s")
    a = "2008-04-19,Saturday,13:1:5"
    a = Format(#4/19/2008 1:01:05 PM#, "m-d-yy ampm h/m/s")
    a = "4-19-08 PM 1-1-5"
    a = Format(1234567.89, "#,#.#00")
    a = "1,234,567.890"
    a = Format(0.12358, "#%")
    a = "12%"
    a = Format(0.12358, "#.#0%")
    a = "12.36%"
    a = Format(0.12358, "#.#000%")
    a = "12.3580%"
    a = Format("TaNrAnMiAnDuI", ">")
    a = "TANRANMIANDUI"
    a = Format("TaNrAnMiAnDuI", ">")
    a = "tanranmiandui"
    总之,Format功能很强大,可替代许多函数。

    FormatCurrency(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
    返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号。
    Expression 必需的。要格式化的表达式。 
    NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为–1,表示使用计算机的区域设置值。 
    IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示一个零。
    UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在园括号内。 
    GroupDigits 可选的。三态常数,表示是否用组分隔符对数字进行分组,组分隔符由计算机的区域设置值指定。 
    IncludeLeadingDigit、UseParensForNegativeNumbers 和 GroupDigits参数的设置值如下:
    TristateTrue –1 True 
    TristateFalse 0 False 
    TristateUseDefault –2 使用计算机区域设置中的设置值。 
    示例
    a = FormatCurrency(1234567.89)
    a = ¥1,234,567.89
    a = FormatCurrency(1234567.89, 0)
    a = ¥1,234,568
    a = FormatCurrency(1234567.89, 3)
    a = ¥1,234,567.890
    a = FormatCurrency(0.15, , vbFalse)
    a = ¥.15
    a = FormatCurre

    FormatDateTime(Date[,NamedFormat])
    返回一个日期或时间格式的表达式。
    Date 必需的。要被格式化的日期表达式。 
    NamedFormat 可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。 
    NamedFormat参数的设置值如下:
    vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。 
    vbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。 
    vbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。 
    vbLongTime 3 用计算机区域设置值中指定的时间格式显示时间。 
    vbShortTime 4 用24小时格式(hh:mm)显示时间。

    示例
    a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbGeneralDate)
    a = 2008-4-19 14:54:23
    a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongDate)
    a = 2008年4月19日星期六
    a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortDate)
    a = 2008-4-19
    a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongTime)
    a = 14:54:23
    a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortTime)
    a = 14:54


    FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
    返回一个数字格式的表达式。
    Expression 必需的。要被格式化的表达式。 
    NumDigitsAfterDecimal 可选的。数字值,表示小数点右边的显示位数。缺省值为–1,表示使用计算机的区域设置值。 
    IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。 
    UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数值放在圆括号内。 
    GroupDigits 可选的。的三态常数,表示是否用组分隔符对数字分组,组分隔符在计算机的区域设置值中指定。 
    IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
    TristateTrue –1 True 
    TristateFalse 0 False 
    TristateUseDefault –2 用计算机区域设置值中的设置值。

    示例
    a = FormatNumber(-1234567.89, 4, vbTrue, vbTrue, vbTrue)
    a = (1,234,567.8900)
    a = FormatNumber(-1234567.89, 4, vbFalse, vbFalse, vbFalse)
    a = -1234567.8900


    FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
    返回一个百分比格式(乘以100)的表达式,后面有%符号。
    Expression 必需的。要格式化的表达式。 
    NumDigitsAfterDecimal 可选的。表示小数点右边的显示位数。缺省值为–1,表示使用计算机的区域设置值。 
    IncludeLeadingDigit 可选的。三态常数,表示小数点前是否显示零。 
    UseParensForNegativeNumbers 可选的。三态常数,表示是否把负数放在圆括号内。 
    GroupDigits 可选的。三态常数,表示是否用组分隔符对数字进行分组,组分隔符在计算机的区域设置值中指定。 
    IncludeLeadingDigit、UseParensForNegativeNumbers和GroupDigits参数的设置值如下:
    TristateTrue –1 True 
    TristateFalse 0 False 
    TristateUseDefault –2 使用计算机区域设置值中的设置值。

    示例
    a = FormatPercent(-1234567.89, 4, vbFalse, vbFalse, vbFalse)
    a = -123456789.0000%
    a = FormatPercent(-1234567.89, 4, vbTrue, vbTrue, vbTrue)
    a = (123,456,789.0000%)

    Replace(expression, find, replacewith[, start[, count[, compare]]])
    返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。
    expression 必需的。字符串表达式,包含要替换的子字符串。 
    find 必需的。要搜索到的子字符串。 
    replacewith 必需的。用来替换的子字符串。 
    start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。 
    count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。 
    compare 可选的。数字值,表示判别子字符串时所用的比较方式。 
    compare参数的设置值如下:
    vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。 
    vbBinaryCompare 0 执行二进制比较。 
    vbTextCompare 1 执行文字比较。 
    vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。 

    示例
    a = Replace("坦坦然坦然面坦然面对", "然", "对")
    a = "坦坦对坦对面坦对面对"
    a = Replace("坦坦然坦然面坦然面对", "然", "对", 5)
    a = "对面坦对面对"
    a = Replace("坦坦然坦然面坦然面对", "然", "对", , 2)
    a = "坦坦对坦对面坦然面对"


    RightB(String, Length As Long)
    从字符串的右边起返回指定数目的字节
    示例
    a = RightB("坦然面对", 4)
    a = "面对"


    Split(expression[, delimiter[, count[, compare]]])
    返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
    expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。 
    delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 
    count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。 
    compare 可选的。数字值,表示判别子字符串时使用的比较方式。 
    compare参数的设置值如下:
    vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。 
    vbBinaryCompare 0 执行二进制比较。 
    vbTextCompare 1 执行文字比较。 
    vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。

    示例
    a = Split("坦 坦然 坦然面 坦然面对")
    a(0) = "坦" ; a(1) = "坦然" ; a(2) = "坦然面" ; a(3) = "坦然面对"
    a = Split("坦!坦然!坦然面!坦然面对", "!")
    结果同上。
    a = Split("坦!坦然!坦然面!坦然面对", "!", 2)
    a(0) = "坦" ; a(1) = "坦然!坦然面!坦然面对"

    StrComp(string1, string2[, compare])
    返回 Variant (Integer),为字符串比较的结果。
    string1 必要参数。任何有效的字符串表达式。 
    string2 必要参数。任何有效的字符串表达式。 
    Compare 可选参数。指定字符串比较的类型。如果 compare 参数是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。 
    compare 参数设置为:
    vbUseCompareOption -1 使用Option Compare语句设置执行一个比较。 
    vbBinaryCompare 0 执行一个二进制比较。 
    vbTextCompare 1 执行一个按照原文的比较。 
    vbDatabaseCompare 2 仅适用于Microsoft Access,执行一个基于数据库信息的比较。 
    StrComp 函数有下列返回值:
    string1 小于 string2 -1 
    string1 等于 string2 0 
    string1 大于 string2 1 
    string1 或 string 2为 Null Null 

    示例
    a = StrComp("坦", "然")
    a = -1
    a = StrComp("面", "然")
    a = 1
    a = StrComp("然", "然")
    a = 0
    a = StrComp("然", Null)
    a = Null

    StrConv(string, conversion, LCID)
    返回按指定类型转换的 Variant (String)。
    string 必要参数。要转换的字符串表达式。 
    conversion 必要参数。Integer。其值的和决定转换的类型。 
    LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) 
    conversion 参数的设置值为:
    vbUpperCase 1 将字符串文字转成大写。 
    vbLowerCase 2 将字符串文字转成小写。 
    vbProperCase 3 将字符串中每个字的开头字母转成大写。 
    vbWide 4 将字符串中单字节字符转成双字节字符。 
    vbNarrow 8 将字符串中双字节字符转成单字节字符。 
    vbKatakana 16 将字符串中平假名字符转成片假名字符。
    vbHiragana 32 将字符串中片假名字符转成平假名字符。 
    vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 
    vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。


    示例
    a = StrConv("how do you do", vbUpperCase)
    a = "HOW DO YOU DO"
    a = StrConv("HOW DO YOU DO", vbLowerCase)
    a = "how do you do"
    a = StrConv("how do you do", vbProperCase)
    a = "How Do You Do"
    vbWide vbNarrow 见原文
    a = StrConv("坦然面对", vbUnicode)
    a = "fW6qb楖["
    a = StrConv("fW6qb楖[", vbFromUnicode)
    a = "坦然面对"

    StrReverse(string1)
    返回一个字符串,其中一个指定子字符串的字符顺序是反向的。
    示例
    a = StrReverse("坦然面对")
    a = "对面然坦"

    WeekdayName(weekday, abbreviate, firstdayofweek)
    返回一个字符串,表示一星期中的某天。
    weekday 必需的。数字值,表示一星期中的某天。该数字值要依赖于firstdayofweek设置中的设置值来决定。 
    abbreviate 可选的。Boolean值,表示星期的名称是否被缩写。如果忽略该值,缺省值为False,表明星期的名称不能被缩写。 
    firstdayofweek 可选的。数字值,表示一星期中第一天。
    firstdayofweek参数值如下:
    vbUseSystem 0 使用本国语言支持 (NLS) API设置值。 
    vbSunday 1 星期日(缺省)。 
    vbMonday 2 星期一 
    vbTuesday 3 星期二 
    vbWednesday 4 星期三 
    vbThursday 5 星期四 
    vbFriday 6 星期五 
    vbSaturday 7 星期六 
    示例
    a = WeekdayName(5)
    a = "星期四"

    下面一堆东西可以解决长度问题~~~

    ---------------------------------------------------

    VB4.0 以后,string 类型以 UNICODE 存放,以 ANSI 形式写入文件。所以,len 和 FileLen 结果不同。len 返回字数,每个中、英文均为 1;lenb 返回字节数,每个中、英文均为 2。 
        
    如果需要返回 ANSI 的字节数,可用如下函数:
    Public Function LenANSI(strU as string) as long 
          LenANSI = LenB(StrConv(strU, vbFromUnicode)) 
    End function 
    --------------------------------------------------
    在 32-bit 版本的 VB 底下, 将每一个字符都视为两个 Byte, 所以
    Len("中英Mixed") 等于 7
    LenB("中英Mixed") 等于 14
    但是在很多场合底下, 我们希望中文字长度以 2 计算, 英文字母长度以 1 计算, 此时使用的方法如下:
    ' 欲计算字串 S 的长度
    N = 0
    For I = 1 To Len(S)
    C = Asc(Mid(S, I, 1)) ' 取得第 I 个字符组的字符码
    If C >= 0 And C <128 Then ' 英文
    N = N + 1
    Else ' 中文
    N = N + 2
    End If
    Next
    看起来程序有点罗唆, 如果您不喜欢这个方法, 可以使用 Windows API 的 lstrlen 函数, 假设假计算 S 的长度, 则 API 声明式如下:
    Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
    而调用的叙述则是:
    n = lstrlen("中英Mixed" + Chr(0))
    Print n ' n 将等于 9
    请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束。
    调用 lstrlen 除了程序比较简短之外, 速度也比我们写 VB 程序判断中英文字然后计算长度来的快。

    1.        Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long

    2.        Private Sub Command1_Click()

    3.        MsgBox lstrlen("100个苹果" + Chr(0))

    4.        End Sub

    复制代码



    ---------------------------------------------------


    有个算中英文混合长度的玩意~~

    1.        Private Function prvStringLenth(strString As String) As Long

    2.        Dim lngI As Long

    3.        Dim lngLenth As Long

    4.         

    5.        prvStringLenth = 0

    6.        lngLenth = 0

    7.         

    8.        If Len(Trim(strString)) > 0 Then

    9.        For lngI = 1 To Len(Trim(strString))

    10.     If Asc(Mid(Trim(strString), lngI, 1)) < 0 Then

    11.     lngLenth = lngLenth + 2 '如果asc码小于0则为汉字

    12.     Else

    13.     lngLenth = lngLenth + 1 '大于0则为英文

    14.     End If

    15.     Next

    16.     prvStringLenth = lngLenth

    17.     End If

    18.      

    19.     End Function

    复制代码

    展开全文
    jane007123 2017-10-10 11:49:20
  • VB中的字符函数比较多,也比较方便,就不一一介绍了.... Chr()和Asc()用于字符串和AscII码的相互转换; Chrw()和Ascw()用于Unicode和中文的相互转换; Format()函数用途十分广泛的一个函数,功能十分强大. ...

    VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的
    转换函数做一些小结.字符串转换的函数主要有:
    Str()和Val()用于字符串和数字的相互转换;
    Chr()和Asc()用于字符串和AscII码的相互转换;
    Chrw()和Ascw()用于Unicode码和中文的相互转换;
    Format()函数用途十分广泛的一个函数,功能十分强大.

    在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简单例子:
    (1) MyString = Str(-459.65) ' 返回 "-459.65"。
    MyString = Str(459.001) ' 返回 " 459.001"。
    (2) MyValue = Val(" 2 45 7") ' 返回 2457。
    MyValue = Val("24 and 57") ' 返回 24。
    (3) MyChar = Chr(97) ' 返回 a。
    MyChar = Chr(37) ' 返回 %。
    (4) MyNumber = Asc("Apple") ' 返回 65。
    MyNumber = Asc("a") ' 返回 97。

    Format函数功能十分强大,大家可以察看msdn相关说明.本文重点想说一下第三对函数,这是经常被大家忽视的一对函数.在我开发手机短信时,最开始时就是用text模式开发的,后来由于发中文改成pdu模式,pdu模式有三种形式可用:7-bits,8-bits,ucs2.前两种都是表复杂的,涉及到编码函数的设计,这里就不多说了,我用的是ucs2编码,发现只要使用第三对函数就能完成pdu串的编码和解码.这对函数的使用和第二对完全相同,下面举几个例子说明(以下代码从vb的立即窗口里得到):
    ?ascw("中")
    20013
    ?ascw("果")
    26524
    ?ascw("e")
    101
    ?chrw(101)
    e
    ?chrw(26589)

    在chrw()和ascw()函数中,对于ASCII仍然和chr()与asc()相同对待.以上只是我对这些函数使用时的一点小结,期望能起到抛砖引玉的作用.

     

    转载于:https://www.cnblogs.com/phzend/p/5585853.html

    展开全文
    weixin_30561425 2016-06-14 23:19:00
  • 589B xiaolongzhihun 2018-12-24 00:17:59
  • 函数 语法 功能 Len Len(string|varname) 返回字符串内字符的数目,或是存储一变量所需的字节数。 Trim Trim(string) 将字符串前后的空格去掉 Ltrim Ltrim(string) 将字符串前面的空格去掉 Rtrim Rtrim...
    

    函数 语法 功能
    Len Len(string|varname) 返回字符串内字符的数目,或是存储一变量所需的字节数。
    Trim Trim(string) 将字符串前后的空格去掉
    Ltrim Ltrim(string) 将字符串前面的空格去掉
    Rtrim Rtrim(string) 将字符串后面的空格去掉
    Mid Mid(string,start,length) 从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串
    Left Left(string,length) 从string字符串的左边取得length长度的字符串
    Right Right(string,length) 从string字符串的右边取得length长度的字符串
    LCase LCase(string) 将string字符串里的所有大写字母转化为小写字母
    UCase UCase(string) 将string字符串里的所有大写字母转化为大写字母
    StrComp StrComp(string1,string2[,compare]) 返回string1字符串与string2字符串的比较结果,如果两个字符串相同,则返回0,如果小于则返回-1,如果大于则返回1
    InStr InStr(string1,string2[, compare]) 返回string1字符串在string2字符串中第一次出现的位置
    Split Split(string1,delimiter[, count[, start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。如果省略,使用空格("")作为分隔符。
    count 返回的子字符串数目,-1 指示返回所有子字符串。
    start为 1 执行文本比较;如果为 0 或者省略执行二进制比较。
    Replace Replace(expression, find, replacewith[, compare[, count[, start]]]) 返回字符串,其中指定数目的某子字符串(find)被替换为另一个子字符串(replacewith)。

    1、Len函数示例:
    下面的示例利用 Len 函数返回字符串中的字符数目:
    Dim MyString
    MyString = Len("VBSCRIPT") ''MyString 包含 8。

    2、Trim、Ltrim、Rtrim函数示例:
    下面的示例利用 LTrim, RTrim, 和 Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格:
    Dim MyVar
    MyVar = LTrim(" vbscript ") ''MyVar 包含 "vbscript "。
    MyVar = RTrim(" vbscript ") ''MyVar 包含 " vbscript"。
    MyVar = Trim(" vbscript ") ''MyVar 包含"vbscript"。

    3、Mid函数示例:
    下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符:
    Dim MyVar
    MyVar = Mid("VB脚本is fun!", 4, 6) ''MyVar 包含 "Script"。

    4、Left函数示例:
    下面的示例利用Left 函数返回MyString 的左边三个字母:
    Dim MyString, LeftString
    MyString = "VBSCript"
    LeftString = Left(MyString, 3) ''LeftString 包含 "VBS

    5、Right函数示例:
    下面的示例利用 Right 函数从字符串右边返回指定数目的字符:
    Dim AnyString, MyStr
    AnyString = "Hello World" ''定义字符串。
    MyStr = Right(AnyString, 1) ''返回 "d"。
    MyStr = Right(AnyString, 6) '' 返回 " World"。
    MyStr = Right(AnyString, 20) '' 返回 "Hello World"。

    6、LCase函数示例:
    下面的示例利用 LCase 函数把大写字母转换为小写字母:
    Dim MyString
    Dim LCaseString
    MyString = "VBSCript"
    LCaseString = LCase(MyString) '' LCaseString 包含 "vbscript"。

    7、 UCase函数示例:
    下面的示例利用 UCase 函数返回字符串的大写形式:
    Dim MyWord
    MyWord = UCase("Hello World") '' 返回"HELLO WORLD"。

    8、StrComp函数示例:
    下面的示例利用 StrComp 函数返回字符串比较的结果。如果第三个参数为 1 执行文本比较;如果第三个参数为 0 或者省略执行二进制比较。
    Dim MyStr1, MyStr2, MyComp
    MyStr1 = "ABCD": MyStr2 = "abcd" ''定义变量。
    MyComp = StrComp(MyStr1, MyStr2, 1) '' 返回 0。
    MyComp = StrComp(MyStr1, MyStr2, 0) '' 返回 -1。
    MyComp = StrComp(MyStr2, MyStr1) '' 返回 1。

    9、InStr示例:
    下面的示例利用 InStr 搜索字符串:
    Dim SearchString, SearchChar, MyPos
    SearchString ="XXpXXpXXPXXP"???
    SearchChar = "P"??
    MyPos = Instr(SearchString, SearchChar)???''返回 9.
    注意:返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。

    10、Split函数示例:
    Dim MyString, MyArray, Msg
    MyString = "VBScriptXisXfun!"
    MyArray = Split(MyString, "x",-1,1)
    '' MyArray(0) contains "VBScript".
    '' MyArray(1) contains "is".
    '' MyArray(2) contains "fun!".
    Response.Write(MyArray(0))

    11、Replace函数示例:
    Replace("ABCD", "BC", "12") ''得到A12D
    Ucase(string) 将字符串转换为大写。
    Val(string) 将代表数字的字符串转换为数值型态,若字符串中含有非数字的内容则会将其去除后,合并为一数字。
    Weekday(date) 取的参数中的日期是一个星期的第几天,星期天为1、星期一为2、星期二为3 依此类推。
    WeekDayName(number) 依接收的参数取得星期的名称,可接收的参数为1 到7,星期天为1、星期一为2、星期二为3 依此类推。
    Split(expression[, delimiter]) 以delimiter 参数设定的条件字符串来将字符串分割为字符串数组。
    Sqrt(number) 取得一数值得平方根。
    Str(number) 将数字转为字符串后传回。
    StrReverse(expression) 取得字符串内容反转后的结果。
    Tan(number) 取得某个角度的正切值。
    TimeOfDay() 取得目前不包含日期的时间。
    Timer() 取得由0:00 到目前时间的秒数,型态为Double。
    TimeSerial(hour, minute, second) 将接收的参数合并为一个只有时间Date 型态的数据。
    Timavalue(time) 取得符合国别设定样式的时间值。
    Today() 取得今天不包含时间的日期。
    Trim(string) 去掉字符串开头和结尾的空白。
    TypeName(varname) 取得变量或对象的型态。
    Ubound(arrayname[, dimension]) 取得数组的最终索引值,dimension 参数是指定取得第几维度的最终索引值。
    MonthName(month) 依接收的月份数值取得该月份的完整写法。
    Now() 取得目前的日期和时间。
    Oct(number) 将数值参数转换为8 进制值。
    Replace(expression, find, replace) 将字符串中find 参数指定的字符串转换为replace 参数指定的字符串。
    Right(string,length) 由字符串右边开始取得length 参数设定长度的字符。
    RmDir(path) 移除一个空的目录。
    Rnd() 取得介于0 到1 之间的小数,如果每次都要取得不同的值,使用前需加上Randomize 叙述。
    Rtrim(string) 去掉字符串的右边空白部分。
    Second(time) 取得时间内容的秒部分,型态为Integer。
    Sign(number) 取得数值内容是正数或负数,正数传回1,负数传回-1,0 传回0。
    Sin(number) 取得一个角度的正弦值。
    Space(number) 取得number 参数设定的空白字符串。
    IsDate(expression) 判断表达式内容是否为DateTime 型态,若是则传回True,反之则为False。
    IsDbNull(expression) 判断表达式内容是否为Null,若是则传回True,反之则为False。
    IsNumeric(expression) 判断表达式内容是否为数值型态,若是则传回True,反之则为False。
    Join(sourcearray[, delimiter]) 将字符串数组合并唯一个字符串,delimiter 参数是设定在各个元素间加入新的字符串。
    Lcase(string) 将字符串转换为小写字体。
    Left(string, length) 由字符串左边开始取得length 参数设定长度的字符。
    Len(string) 取得字符串的长度。
    Log(number) 取得数值的自然对数。
    Ltrim(string) 去掉字符串的左边空白部分。
    Mid(string, start[, length]) 取出字符串中strat 参数设定的字符后length 长度的字符串,若length 参数没有设定,则取回start 以后全部的字符。
    Minute(time) 取得时间内容的分部分,型态为Integer。
    MkDir(path) 建立一个新的目录。
    Month(date) 取得日期的月部分,型态为Integer。
    FormatDateTime(date[,namedformat]) 传回格式化的日期或时间数据。
    FormatNumber(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 传回格式化
    的数值数据。Numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
    FormatPercent(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 传回转换为百分比格式的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
    GetAttr(filename) 传回档案或目录的属性值。
    Hex(number) 将数值参数转换为16 进制值。
    Hour(time) 传回时间的小时字段,型态是Integer。
    Iif(expression, truepart, falsepart) 当表达式的传回值为True 时执行truepart 字段的程序,反之则执行falsepart 字段。
    InStr([start, ]string1, string2) 搜寻string2 参数设定的字符出现在字符串的第几个字符,start 为由第几个字符开始寻找,string1 为欲搜寻的字符串,string2 为欲搜寻的字符。
    Int(number) 传回小于或等于接收参数的最大整数值。
    IsArray(varname) 判断一个变量是否为数组型态,若为数组则传回True,反之则为False。
    Day(datetime) 依接收的日期参数传回日。
    Eof(filenumber) 当抵达一个被开启的档案结尾时会传回True。
    Exp(number) 依接收的参数传回e 的次方值。
    FileDateTime(pathname) 传回档案建立时的日期、时间。
    FileLen(pathname) 传回档案的长度,单位是Byte。
    Filter(sourcearray, match[, include[, compare]]) 搜寻字符串数组中的指定字符串,凡是数组元素中含有指定字符串,会将它们结合成新的字符串数组并传回。若是要传回不含指定字符串的数组元素,则include 参数设为False。compare 参数则是设定搜寻时是否区分大小写,此时只要给TextCompare 常数或1 即可。
    Fix(number) 去掉参数的小数部分并传回。
    Format(expression[, style[, firstdayofweek[, firstweekofyear]]]) 将日期、时间和数值资料转为每个国家都可以接受的格式。
    FormatCurrency(expression[,numdigitsafterdecimal [,includeleadingdigit]]) 将数值输出为金额型态。
    numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
    CObj(expression) 转换表达式为Object 型态。
    CShort(expression) 转换表达式为Short 型态。
    CSng(expression) 转换表达式为Single 型态。
    CStr(expression) 转换表达式为String 型态。
    Choose (index, choice-1[, choice-2, ... [, choice-n]]) 以索引值来选择并传回所设定的参数。
    Chr(charcode) 以ASCII 码来取得字符内容。
    Close(filenumberlist) 结束使用Open 开启的档案。
    Cos(number) 取得一个角度的余弦值。
    Ctype(expression, typename) 转换表达式的型态。
    DateAdd(dateinterval, number, datetime) 对日期或时间作加减。
    DateDiff(dateinterval, date1, date2) 计算两个日期或时间间的差值。
    DatePart (dateinterval, date) 依接收的日期或时间参数传回年、月、日或时间。
    DateSerial(year, month, day) 将接收的参数合并为一个只有日期的Date 型态的数据。
    Datevalue(datetime) 取得符合国别设定样式的日期值,并包含时间。
    Abs(number) 取得数值的绝对值。
    Asc(String) 取得字符串表达式的第一个字符ASCII 码。
    Atn(number) 取得一个角度的反正切值。
    CallByName (object, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。
    CBool(expression) 转换表达式为Boolean 型态。
    CByte(expression) 转换表达式为Byte 型态。
    CChar(expression) 转换表达式为字符型态。
    CDate(expression) 转换表达式为Date 型态。
    CDbl(expression) 转换表达式为Double 型态。
    CDec(expression) 转换表达式为Decimal 型态。
    CInt(expression) 转换表达式为Integer 型态。
    CLng(expression) 转换表达式为Long 型态

    展开全文
    wtuqi 2016-10-20 16:19:22
  • venustear 2015-02-27 09:27:30
  • wulang1114 2009-12-28 14:01:00
  • weixin_29420299 2021-04-28 01:48:54
  • weixin_33502772 2021-02-11 14:04:01
  • weixin_42502537 2021-05-22 17:11:39
  • demonzsmj12315 2019-09-27 12:22:31
  • cutemouse 2010-12-15 10:58:00
  • weixin_28886359 2021-02-11 14:11:53
  • 20KB wing7902 2014-12-15 14:49:59
  • u011818391 2013-09-16 05:46:59
  • 4星
    14KB dingzhijie87405 2009-02-08 11:27:53
  • qq_45437180 2019-10-04 08:31:24
  • linjcai 2018-08-05 17:10:29
  • weixin_30725467 2016-03-23 13:45:00
  • qq_36749906 2020-10-16 09:12:40
  • yuan_haijiang 2012-03-15 17:14:35
  • a15076159739 2017-12-22 21:03:08
  • likang517 2019-10-17 16:14:19

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,989
精华内容 2,395
关键字:

vb字符转换ascii码函数