精华内容
下载资源
问答
  • vb 字符串数字相互转换函数

    千次阅读 2016-06-14 23:19:00
    字符串转换的函数主要有: Str()和Val()用于字符串和数字的相互转换; 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

    展开全文
  • VBA示例之 从字符串提取纯数字,供初学者参考,大牛勿进~~~~~~~
  • 效果显示: 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字符串转16进制数

    2017-07-12 20:59:37
    工具,函数
  • '使用下面提供给你的...,还有括号,^乘幂,其优先级与*/相同,这是使用该函数需要注意的地方;!阶乘 '自己试试就知道怎么回事了! 转载于:https://www.cnblogs.com/zlmlovem/archive/2010/11/30/1892031.html
    '使用下面提供给你的函数可以做到这点!
    '先定义2个结构Parent和Plus,把这2个定义放在代码段最前面
    Private Type Parent
      s As String
      value As Double
    End Type
    Private Type Plus
      s As String
      value As Double
    End Type

    '下面是实现此功能的函数的定义,比较长
    Public Function ValueOfExpression(ByVal Express As String) As Double
    Dim Pa() As Parent, ParNum As Integer, Ps() As Plus, OperNum As Integer
    Dim str0 As String

    '按括号分解表达式 Express:Begin-----/*
    Dim lenExp As Integer, Lenstr1 As Integer, i As Integer, j As Integer, k As Integer, str1 As String, str2 As String, intPar As Integer
    Dim intStart As Integer, intEnd As Integer
    lenExp = Len(Express)
    For i = 1 To lenExp
      If Mid(Express, i, 1) = "(" Then intPar = intPar + 1
    Next
    ParNum = intPar
    ReDim Pa((intPar / 10 + 1) * 10)
    For i = 1 To intPar
      If intPar < 1 Then Exit For
      For j = 1 To lenExp
        If Mid(Express, j, 1) = ")" Then
          str1 = Mid(Express, 1, j - 1)
          Exit For
        End If
      Next
      Lenstr1 = Len(str1)
      For k = 1 To Lenstr1
        If Mid(str1, Lenstr1 + 1 - k, 1) = "(" Then
          Pa(i).s = Mid(str1, Lenstr1 + 2 - k)
          Exit For
        End If
      Next
      Express = Mid(Express, 1, Lenstr1 - k) & Chr(128) & CStr(i) & Mid(Express, j + 1)
      lenExp = Len(Express)
    Next
    Pa(0).s = Express
    '*/-----End

    '按加减号进一步分解:Begin-----/*
    Dim n As Integer, strLeft As String
    For i = 0 To ParNum
      k = 0
      For j = 1 To Len(Pa(i).s)
        str1 = Mid(Pa(i).s, j, 1)
        If str1 = "+" Or str1 = "-" Then k = k + 1
      Next
      If k > OperNum Then OperNum = k
    Next
    ReDim Ps(ParNum, OperNum)
    For i = 0 To ParNum
      strLeft = Pa(i).s: n = 0: str2 = ""
      Do
        If Len(strLeft) = 0 Then Exit Do
        For j = 1 To Len(strLeft)
          str1 = Mid(strLeft, j, 1)
          If str1 = "+" Or str1 = "-" Then
            Ps(i, n).s = str2 & Mid(strLeft, 1, j - 1)
            n = n + 1
            str2 = IIf(str1 = "-", str1, "")
            strLeft = Mid(strLeft, j + 1)
            Exit For
          End If
          If j = Len(strLeft) Then
            Ps(i, n).s = str2 & strLeft: j = 0
            Exit For
          End If
        Next
      Loop Until j = 0
    Next
    '*/-----End

    '计算最后分成的多个简单表达式的值的总和,即表达式 Express 的值
    Dim Total As Double, value As Double
    For i = 1 To ParNum + 1
      If i = ParNum + 1 Then i = 0
      Total = 0
      For j = 0 To OperNum
        Express = Ps(i, j).s: value = 0
        Dim lasti As Integer, operator As String
        lenExp = Len(Express): lasti = 0: operator = ""
        For k = 1 To lenExp
          str0 = Mid(Express, k, 1)
          If InStr("*/^", str0) > 0 Or k = lenExp Then
            If k = lenExp Then k = k + 1
            str1 = Mid(Express, lasti + 1, k - 1 - lasti)
            Dim sign As Integer, Valstr1 As Double
            If Mid(str1, 1, 1) = "-" Then
              sign = -1
              str1 = Mid(str1, 2)
            Else
              sign = 1
            End If
            n = InStr(1, "/sin" & Chr(128) & "/cos" & Chr(128) & "/tan" & Chr(128) & "/abs" & Chr(128) & "/atn" & Chr(128) & "/exp" & Chr(128) & "/int" & Chr(128) & "/fix" & Chr(128) & "/sgn" & Chr(128) & "/sqr" & Chr(128) & "/", "/" & Mid(str1, 1, 4) & "/")
            If n > 0 Then
              Valstr1 = Choose((n + 4) / 5, Sin(Pa(Val(Mid(str1, 5))).value), Cos(Pa(Val(Mid(str1, 5))).value), Tan(Pa(Val(Mid(str1, 5))).value), Abs(Pa(Val(Mid(str1, 5))).value), Atn(Pa(Val(Mid(str1, 5))).value), Exp(Pa(Val(Mid(str1, 5))).value), Int(Pa(Val(Mid(str1, 5))).value), Fix(Pa(Val(Mid(str1, 5))).value), Sgn(Pa(Val(Mid(str1, 5))).value), Sqr(Pa(Val(Mid(str1, 5))).value))
            Else
              n = InStr(1, "/lg" & Chr(128) & "/ln" & Chr(128) & "/", Mid(str1, 1, 3))
              If n > 0 Then
                Valstr1 = Choose((n + 3) / 4, Log(Pa(Val(Mid(str1, 4))).value) / Log(10), Log(Pa(Val(Mid(str1, 4))).value))
              Else
                If Mid(str1, 1, 1) = Chr(128) Then
                  Valstr1 = Pa(Val(Mid(str1, 2))).value
                ElseIf Right(str1, 1) = "!" Then
                  If Val(str1) = 0 Then
                    Valstr1 = 1
                  Else
                    Valstr1 = 1
                    For n = 1 To Val(str1)
                      Valstr1 = Valstr1 * n
                    Next
                  End If
                Else
                  Valstr1 = Val(str1)
                End If
              End If
            End If
            Valstr1 = Valstr1 * sign
            Select Case operator
              Case ""
                value = Valstr1
              Case "*"
                value = value * Valstr1
              Case "/"
                value = value / Valstr1
              Case "^"
                value = value ^ Valstr1
            End Select
            lasti = k: operator = str0
          End If
        Next
        Ps(i, j).value = value
        Total = Total + Ps(i, j).value
      Next
      Pa(i).value = Total
      If i = 0 Then Exit For
    Next
    ValueOfExpression = Pa(0).value
    End Function
    'OK,到这里结束了该函数的定义
    '使用例子:
    'A="5+5+5"
    'Print ValueOfExpression(A)

    '其它说明:该函数支持很多数学函数如sin、cos、tan等等,如:
    'Print ValueOfExpression("sin(1)")
    '注意后面要加括号
    '该函数支持运算符+-*/^!,还有括号,^为乘幂,其优先级与*/相同,这是使用该函数需要注意的地方;!为阶乘
    '自己试试就知道怎么回事了!

    转载于:https://www.cnblogs.com/zlmlovem/archive/2010/11/30/1892031.html

    展开全文
  • vb.net字符串日期型转换

    千次阅读 2014-03-31 21:02:25
    关键:先将字符串形成日期型的“形式” 比如“20120814” 形成: “2012-08-14” 或"2012/08/14" 故:举例如下: Dim a As Date  Dim s As String = "20080814"  a = CDate(Format(CInt(s

    前言:

    如何把字符串转为日期型呢?
    例如:“20120814”如何转为日期型。

    关键:先将字符串形成日期型的“形式”

    比如“20120814”     形成: “2012-08-14”    或"2012/08/14"
    故:举例如下:

    Dim a As Date  

    Dim s As String = "20080814"  

    a = CDate(Format(CInt(s), "0000-00-00"))  

    MsgBox(a.Year) 

    ===========================

    vb.net 日期时间格式转换(Format函数)

    VB.net 中 取系统时间
    Dim datestr As String = ""
    datestr = Format(Now(), "yyyy/MM/dd H:mm:ss ffff")
    用户定义的日期/时间格式(Format 函数)
    下表显示可用于创建用户定义的日期/时间格式的字符。与 Visual Basic 的早期版本不同,这些格式字符区分大小写。

    字符说明

    (:)

    时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由系统的 LocaleID 值确定。

    (/)

    日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由您的区域设置确定。

    (%)

    用于表明不论尾随什么字母,随后字符都应该以单字母格式读取。也用于表明单字母格式应以用户定义格式读取。有关更多详细信息,请参见下面的内容。

    d

    将日显示为不带前导零的数字(如 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %d

    dd

    将日显示为带前导零的数字(如 01)。

    ddd

    将日显示为缩写形式(例如 Sun)。

    dddd

    将日显示为全名(例如 Sunday)。

    M

    将月份显示为不带前导零的数字(如一月表示为 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %M

    MM

    将月份显示为带前导零的数字(例如 01/12/01)。

    MMM

    将月份显示为缩写形式(例如 Jan)。

    MMMM

    将月份显示为完整月份名(例如 January)。

    gg

    显示时代/纪元字符串(例如 A.D.

    h

    使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。如果这是用户定义的数字格式中的唯一字符,请使用 %h

    hh

    使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。

    H

    使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %H

    HH

    使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。

    m

    将分钟显示为不带前导零的数字(例如 12:1:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %m

    mm

    将分钟显示为带前导零的数字(例如 12:01:15)。

    s

    将秒显示为不带前导零的数字(例如 12:15:5)。如果这是用户定义的数字格式中的唯一字符,请使用 %s

    ss

    将秒显示为带前导零的数字(例如 12:15:05)。

    F

    显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f

    T

    使用 12 小时制,并对中午之前的任一小时显示大写的 A,对中午到 11:59 P.M 之间的任一小时显示大写的 P。如果这是用户定义的数字格式中的唯一字符,请使用 %t

    tt

    对于使用 12 小时制的区域设置,对中午之前任一小时显示大写的 AM,对中午到 11:59 P.M 之间的任一小时显示大写的 PM

    对于使用 24 小时制的区域设置,不显示任何字符。

    y

    将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用 %y

    yy

    以带前导零的两位数字格式显示年份(如果适用)。

    yyy

    以四位数字格式显示年份。

    yyyy

    以四位数字格式显示年份。

    z

    显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用%z

    zz

    显示带前导零的时区偏移量(例如 -08

    zzz

    显示完整的时区偏移量(例如 -08:00

    示例

    下列示例用于说明 December 7, 1958, 8:50 PM, 35 seconds 的用户定义的日期和时间格式:

    格式显示

    M/d/yy

    12/7/58

    d-MMM

    7-Dec

    d-MMMM-yy

    7-December-58

    d MMMM

    7 December

    MMMM yy

    December 58

    hh:mm tt

    08:50 PM

    h:mm:ss t

    8:50:35 P

    H:mm

    20:50

    H:mm:ss

    20:50:35

    M/d/yyyy H:mm

    12/7/1958 20:50

    ===================================================================================

    VB.Net日期(时间)格式化的5种使用方法
    以下时间以2009年9月26号为例
    第1种格式  : dd/MM/yyyy    


    String.Format("{0:dd/MM/yyyy}", DateTime.Now)


    O/P = 26/09/2009


    第2种格式: MM/dd/yyyy


    String.Format("{0:MM/dd/yyyy}", DateTime.Now)


    O/P = 09/26/2009




    第3种格式 : dd/MM/yy


    String.Format("{0:dd/MM/yy}", DateTime.Now)


    O/P = 26/09/09


    第4种格式: t    '更多.net源码和教程,来自[乐 博 网 www.lob.cn]


    String.Format("{0:t}", DateTime.Now)


    O/P = 12:22 PM


    第5种格式: F


    String.Format("{0:F}", DateTime.Now)


    o/p=Saturday, September 26, 2009 12:22:25 PM 

    展开全文
  • VB6 字符串和16进制互转换

    千次阅读 2018-11-08 22:33:04
    自己写的两个函数,用于字符串和16进制互转换的,支持中文转换,中文编码写入IC卡非常方便   ...'将字符串转换为16进制 Dim abytS() As Byte Dim bytTemp As Byte Dim strTemp As String Di...
  • Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进 位制符号 &amp;O(八进制)和 &amp;H...
  • 16进制字符串数字(C/C++ VB/VB net C )
  • 16进制的字符串表示形式转换为等效的64位有符号整数,进制的基数,必须2,8,10 或16。。 如果fromBase16,则可以value参数指定的数字加上前缀“0x”或“0X”。 VB代码示例: 'Declaration Public Shared...
  • 格式设置是类型(如数字、日期等)的值转换为字符串表示形式的过程,通常使得最终的字符串以友好的格式显示给用户,也可以理解把其他数据类型以想要的格式转换字符串。通常使用 Object.ToString方...
  • Trim Trim(string) 将字符串前后的空格去掉  Ltrim Ltrim(string) 将字符串前面的空格去掉  Rtrim Rtrim(string) 将字符串后面的空格去掉  Mid Mid(string,start,length) 从string字符串的sta
  • 十六进制字符串转换成十进制非负整数 题目详情 输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并其转换十进制数后输出。 输入格式 ...
  • VB 字符和ASCII码间的相互转换

    热门讨论 2010-06-07 10:45:41
    VB 字符和ASCII码间的相互转换 VB 字符和ASCII码间的相互转换
  • 这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是...一、16进制字符串数字 1、C/C++ I、最简单的办法:sscanf(“12AB”,,”%x”,&lngHex); //字符也可以”0x12AB” ...
  • VB字符串处理大全

    万次阅读 2018-09-16 11:56:53
     2.2 转换字符串  2.3 创建字符串  2.4 获取字符串的长度  2.5 格式化字符串  2.6 查找字符串  2.7 提取字符/字符串  2.8 删除空格  2.9 返回字符代码  2.10 返回数值代表的相应字符  2.11 使用字节的函数...
  • 最近在做一个vb.net写的一个网站,有一次同学有个问题问我,说程序总是抛出“从字符串“aa”到类型“Double”的转换无效”的错误。我过去一 看是个操作数据库的函数,我一开始想到的就是给参数赋值赋错了,引发的...
  • vb.net字符串转为日期型

    万次阅读 2012-08-14 14:49:47
    如何把字符串转为日期型呢? 例如:“20120814”如何转为日期型。...关键:先将字符串形成日期型的“形式” 比如“20120814” 形成:  “2012-08-14” 或"2012/08/14" 故:举例如下: Dim a As Date
  • string与字符串转换

    千次阅读 2019-10-03 14:55:38
    一、从文件中读取字符串 即是getline的用法。 1、在中的getline()函数有两种重载形式 stream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim ); 2、 在中的...
  • 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): 计算...
  • 今天跟一个在腾讯工作的同学聊天了,他问我如何一个数转换为一个字符串,我跟他说是这样的: char buffer[10];_itoa(i, buffer, 10); 可是他说不一定是int型转化为字符串,我着这样回答的:循环这个...
  • c语言 字符串转换为int或float

    万次阅读 2015-01-19 17:08:11
    在c语言编程中,经常会遇到字符串或者字符数组内的数据转换int型数据或者float型数据,网上找了好多方法,结果都不可行...是把字符串转换成int型的一个c语言函数,很方便的进行使用。  其函数参数是一个字符串
  • VB字符串处理函数一览

    万次阅读 2017-10-10 11:49:20
    VB字符串处理函数一览 mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]  例如 mid("小欣无敌",1,3) 则返回 "小欣无"  instr(从第几个开始,字符串1,...
  • Vb.net字符操作函数(转)

    万次阅读 2016-10-20 16:19:22
     函数 语法 功能 ...Trim Trim(string) 将字符串前后的空格去掉 Ltrim Ltrim(string) 将字符串前面的空格去掉 Rtrim Rtrim(string) 将字符串后面的空格去掉 Mid Mid(string,start,length) 从s
  • 我们推荐生成随机数算法如下:调用随机数函数生成,得到的值转换为字符串。 不清楚说的啥玩意.只能就 简单粗暴的写了一个函数…,int类型在这里不合适,需要使用str类型 代码 import random def generate_random_...
  • 功 能: 执行从字符串中的格式化输入 用 法: int sscanf(char *string, char *format[,argument,...]); //%x就是我们要格式化的类型,即输出十六进制#include int main() { char szValue[] =
  • 自己写的VB.NET小工具, 输入数字/中英文字符,实现Unicode/GBK/UTF8对应的16进制编码,可选空格/0x/&H/H分隔字节,方便复制到程序中直接使用.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,138
精华内容 5,255
关键字:

vb将字符串转换为数字