精华内容
下载资源
问答
  • VB 字符串转 换成函 数表达 式实例 源码 sim cos "sqr(19-tan(98)*tan(91)-sin(122)*(5*5-(199-12)))"等
  • VB字符串转16进制数

    2017-07-12 20:59:37
    工具,函数
  • vb 字符串数字相互转换函数

    千次阅读 2016-06-14 23:19:00
    VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的转换函数做一些小结.字符串转换的函数主要有: Str()和Val()用于字符串和数字的相互转换; Chr()和Asc()用于字符串和AscII码的相互转换; ...

    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

    展开全文
  • 字符串处理函数的汇总资料,供初学者参考。
  • VB6.0语言,中英字符串转Unicode编码十六进制字符串源码,做成函数,可以直接调用!!包含两种方式
  • 包含整个工程,可直接复制使用
  • VB字符串处理函数一览

    万次阅读 2017-10-10 11:49:20
    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

    复制代码

    展开全文
  • vb获得字符串中指定后几位字符,这里使用vb Right函数一行代码即可搞定,运行代码如示例图所示,在最左侧文字框中输入任意字符串,程序预设的是获取最右侧的2位字符,单击按钮后即可获取到最左侧字符串的最右边2位...
  • 内容索引:VB源码,字符处理,字符串,表达式 VB字符串转换成函数表达式,支持很多种函数类别,支持 sin、tan、log 等函数,估计对大家比较有用处,用法也很简单,直接在输入框输入你想要的函数结果,选择表达式,它...
  • 效果显示: Private Sub Text1_Change() Text2.Text = CStr(Text1.Text)  '转字符串 ...1、Val()函数字符串转为数字,从左到右依次转换,遇到非数字字符为止,必要时可以使用CDbl(); 2、CSt...
    效果显示:
    VB编程:Val字符串转数字,CStr数字转字符串-6

    Private Sub Text1_Change()
    Text2.Text = CStr(Text1.Text)     '转字符串
    Text3.Text = Val(Text1.Text)       '转为数字
    End Sub

    备注:
    1、Val()函数,字符串转为数字,从左到右依次转换,遇到非数字字符为止,必要时可以使用CDbl();
    2、CStr()函数,数字转换为字符串。



    展开全文
  • VB字符串处理函数大全:mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]
  • VB6.0语言,英文字符串转ASCLL编码十六进制字符串源码,做成函数,可以直接调用!!两种方式
  • Str$(x):把x的值转换为一个字符串 Val$(X):把x 字符转换成数值 例子: Private Sub Command1_Click() Text2 = Val(Text1) End Sub Private Sub Command2_Click() Text2 = Str(Text1) End Sub 方法简单就不截图了 ! ...

    转载自品略图书馆 http://www.pinlue.com/article/2018/12/1921/577885629648.html

     

    Str$(x):把x的值转换为一个字符串

    Val$(X):把x 字符转换成数值

    例子:

    Private Sub Command1_Click()

    Text2 = Val(Text1)

    End Sub

    Private Sub Command2_Click()

    Text2 = Str(Text1)

    End Sub

    方法简单就不截图了  !

    教大家一个 计算器的例子吧

    text1 = 5  , text2 = 10

    text1 + text2 =  510

    为什么会这样了  应该都等于   15 啊

    应为+ 有两种用法 所以他把 5  ,10  判断成了字符

    val(text1) + val(text2) = 15   "把它转换成数值才能等于 15

    展开全文
  • VB字符串函数大全

    2012-05-07 22:00:27
    VB所有的字符串函数详细介绍,包括所以的
  • VB.NET校验字符串函数

    2020-09-03 17:16:47
    本文给大家分享的是2个vb.net中验字符串类型的函数,十分的简单实用,有需要的小伙伴可以参考下。
  • VB常用字符串函数

    千次阅读 2015-02-27 09:27:30
    P=Asc(X) 返回字符串X的第一个字符的字符码  P=Chr(X) 返回字符码等于X的字符  [范例]:  (1)P=Chr(65)  ‘ 输出字符A,因为A的ASCII码等于65  (2)P=Asc(“A”)  ‘ 输出65  2. Len(X): 计算...
  • Len Len(string|varname) 返回字符串内字符的数目,或是存储一变量所需的字节数。  Trim Trim(string) 将字符串前后的空格去掉  Ltrim Ltrim(string) 将字符串前面的空格去掉  Rtrim Rtrim(string) 将字符...
  • 加密解密密钥互为相反数,值不能过大,不然会出错,有不可打印字符
  • VB字符串处理函数大全[定义].pdf
  • vb截取字符串

    2014-07-28 17:44:07
    vb asp中根据符号截取字符串方法 split (",")
  • vb 字符串函数大全

    2010-03-12 15:43:16
    vb 字符串函数大全 vb 字符串函数大全 vb 字符串函数大全
  • VBA示例之 从字符串提取纯数字,供初学者参考,大牛勿进~~~~~~~
  • https://blog.csdn.net/jane007123/article/details/78191080
  • VB字符串函数

    2011-11-08 16:48:01
    VB 常用字符串操作函数 VB 常用字符串操作函数 作者:虚拟小强 教程来源:本站原创 ★★★ 1. ASC(X),Chr(X):转换字符字符码 [格式]: P..
  • Vb.net字符操作函数()

    万次阅读 2016-10-20 16:19:22
    Len Len(string|varname) 返回字符串内字符的数目,或是存储一变量所需的字节数。 Trim Trim(string) 将字符串前后的空格去掉 Ltrim Ltrim(string) 将字符串前面的空格去掉 Rtrim Rtrim(string) 将字符串后面...
  • vb含有数字字符串,使用mid函数怎么把其中的数字截取出来,去掉空白和制表?怎么用mid截取字符串数字部分?
  • VB中各种数据类型转换函数 HEX STRING
  • Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进 位制符号 &amp;O(八进制)和 &amp;H...
  • 这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是...一、16进制字符串转数字 1、C/C++ I、最简单的办法:sscanf(“12AB”,,”%x”,&lngHex); //字符也可以为”0x12AB” ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,035
精华内容 18,014
关键字:

vb字符转数字函数