VB中如何将一串字符串中的数字求和

VB中如何将一串字符串中的数字求和,第1张

s = "1,2,3,4,5"
n = 0
For i = 1 To Len(s)
    n = n + Val(Mid(s, i, 1))
Next
Print "数字和为:"; n

vb进行字符的运算本身就很麻烦,而超长数据的运算也是相当令人头大的,

我编过c语言的加法,没有写过vb的,所以只能给你一些提示:

对于十进制,不能用补码的方法把减法变成加法(至少我不知道这样的方法),所以加减乘除要编写四个函数,而乘法必须在加法实现无误的基础上才能实现,除法必须在加减乘法都实现无误的基础上才能实现。

所有的函数的实现都要用到小学学的竖式运算,比如加法的可以先让两个数移动到末位对齐,然后从末位开始一位一位的加,用一个额外的变量来存储进位,无进位时进位为0,你可以用子节型的数组来存被加数、加数与和。加法很简单,减法与加法一样只是变成借位。

难的是乘法,你要实现一位乘多位,把所有位的这些结果加起来

除法就更难了,要用到乘和减,对于每个商的位置要从0到9地试探(也可以1-10,但是后面的判断条件稍该变下),直到它(设为n)和除数的积刚刚大于(减的结果第一次小于除数)被除数的被除部分时(这个我不知道应该怎么叫),该位置的商就是n。

如果是文字与数字相加,则:
private sub command1_click
msgbox text1text & val(text2text)
end sub
数字与数字相加:
private sub command1_click
msgbox val(text1text) + val(text2text)
end sub

计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。

因为1位二进制数可以表示(2^1)=2种状态:0、1;而2位二进制数可以表示(2^2)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2^7)=128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。

第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

Private Sub Command1_Click()

For i = 33 To 126

Print i; Chr(i),

If i Mod 5 = 2 Then Print

s = s + i

Next i

Print

Print "Sum="; s

End Sub

将文本框text1和文本框text2的数值相加,应该写完val(text1text)+val(text2text),而不是直接text1text+text2text。

由于在vb中,“+”号即可用来将两个字符相连,有可以用来将两个数相加,因为text中的内容默认为字符型,如果直接用“+”号是实现不了两个数的数值相加的,而是直接将两个数当字符相连起来了,所以,通常应将字符转换为数字在相加,也就是使用val()函数。

Visual Basic是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
主要优点:
1,简单易学。
2,开发速度快。
3,可读性很好。

Text1Text="abc"
Text2Text="123"
Text3Text=Text1Text & Text2Text

Text1Text="abc"& "123"


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12890811.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存