问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb数字无法相加

发布网友 发布时间:2023-08-06 02:19

我来回答

6个回答

热心网友 时间:2024-11-08 22:43

我来给你完美的解释:

代码的第一句:Dim a, b, c As Integer 只有c才是赋予了integer型,a和b是默认的variant变量(变体变量),如果要想a b c都赋予成integer型 必须这样写:
Dim a As Integer, b As Integer, c As Integer
这样你的结果就是输入后数值型数据相加的结果了..

按你的代码来,Dim a, b, c As Integer ,inputbox返回的结果是string型(字符串数据),这样a b的类型相应的就是字符串类型的了,当你a+b的时候返回的结果就是字符串相加的结果,并不是数值型数据相加(a输入3,b输入4,a+b 自然就是34了)
如果你想让a和b进行数*算,将a和b的值转换成数值型数据就可以了.用val函数
c=val(a)+val(b) 返回的结果就是7了..

热心网友 时间:2024-11-08 22:43

Dim a As Integer
Dim b As Integer
Dim c As Integer
就对了,你那种声明只有c才是数字
a,b 都是Variant,而inputbox返回的是string,所以a,b都是string,
因此a+b 就是两个string相加。

热心网友 时间:2024-11-08 22:44

VB中默认InputBox("a", "a") 返回的类型是字符型,
所以你输入的a 的值为3 ,实际上是字符"3"
b的为"4 ",+为字符连接,结果就变成了"34"
你可以这样改:
a = val(InputBox("a", "a") )
b = val(InputBox("b", "b") )
转化成数字,就没问题了。

热心网友 时间:2024-11-08 22:45

在VB6中 字符串连接符 有2种
一种是 + “+”是把两个字符串变成一个字符串 +即前后的数据类型都为字符串型 否则 +为数字运算符 所以 a +b = "3"+"4"= "34"是字符运算 非数字运算

另一种是 & &连接符可以把两种不同数据类型的数据连接成一个新的字符串类型数据

所以 a + b 会被系统首先默认为 "3"+"4"
使用下面的函数可以改变这种情况

c= val(a)+val(b)
这时c的结果就应该是7了

热心网友 时间:2024-11-08 22:45

这是VB的一大特点,易上手,但这样以后,规则就多了。像这个问题,其是只要有一个加数是字符,就是以字符相加,就等于是“&”。
一般用VB,要想是字符叠加,用“&”,也就是说,哪怕两加数都是整型,用了“&”以后也是叠加。但做数字加时,就一定要小心了。就VAL()的话,如果()中的有无法转为数字的,那就出错了。

热心网友 时间:2024-11-08 22:46

c=a+b改为c=val(a)+val(b)
因为inputbox内的数字默认为字符
val的作用是强制转换为数字

热心网友 时间:2024-11-08 22:43

我来给你完美的解释:

代码的第一句:Dim a, b, c As Integer 只有c才是赋予了integer型,a和b是默认的variant变量(变体变量),如果要想a b c都赋予成integer型 必须这样写:
Dim a As Integer, b As Integer, c As Integer
这样你的结果就是输入后数值型数据相加的结果了..

按你的代码来,Dim a, b, c As Integer ,inputbox返回的结果是string型(字符串数据),这样a b的类型相应的就是字符串类型的了,当你a+b的时候返回的结果就是字符串相加的结果,并不是数值型数据相加(a输入3,b输入4,a+b 自然就是34了)
如果你想让a和b进行数*算,将a和b的值转换成数值型数据就可以了.用val函数
c=val(a)+val(b) 返回的结果就是7了..

热心网友 时间:2024-11-08 22:44

Dim a As Integer
Dim b As Integer
Dim c As Integer
就对了,你那种声明只有c才是数字
a,b 都是Variant,而inputbox返回的是string,所以a,b都是string,
因此a+b 就是两个string相加。

热心网友 时间:2024-11-08 22:44

VB中默认InputBox("a", "a") 返回的类型是字符型,
所以你输入的a 的值为3 ,实际上是字符"3"
b的为"4 ",+为字符连接,结果就变成了"34"
你可以这样改:
a = val(InputBox("a", "a") )
b = val(InputBox("b", "b") )
转化成数字,就没问题了。

热心网友 时间:2024-11-08 22:45

在VB6中 字符串连接符 有2种
一种是 + “+”是把两个字符串变成一个字符串 +即前后的数据类型都为字符串型 否则 +为数字运算符 所以 a +b = "3"+"4"= "34"是字符运算 非数字运算

另一种是 & &连接符可以把两种不同数据类型的数据连接成一个新的字符串类型数据

所以 a + b 会被系统首先默认为 "3"+"4"
使用下面的函数可以改变这种情况

c= val(a)+val(b)
这时c的结果就应该是7了

热心网友 时间:2024-11-08 22:45

这是VB的一大特点,易上手,但这样以后,规则就多了。像这个问题,其是只要有一个加数是字符,就是以字符相加,就等于是“&”。
一般用VB,要想是字符叠加,用“&”,也就是说,哪怕两加数都是整型,用了“&”以后也是叠加。但做数字加时,就一定要小心了。就VAL()的话,如果()中的有无法转为数字的,那就出错了。

热心网友 时间:2024-11-08 22:46

c=a+b改为c=val(a)+val(b)
因为inputbox内的数字默认为字符
val的作用是强制转换为数字
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? vb在字符串中提取的数字为什么不能运算 ...其妙开机时却让我输入用户名和密码,怎么回事啊???急急急!_百度... ...雪诺同有时黑色药渣,有时暗红色药渣,是出血吗?有无问题呀_百度... 创业者应重点培养自己哪些能力? 康洛薇和罗西尼哪个好一点 卧室乳胶漆颜色怎么搭配 选择卧室漆色必知的三大要点 初一年夜饭作文两篇 初中年夜饭作文300字两篇 ...拆迁赔偿怎么计算?多少钱一平方?2021农村拆迁补偿标准 2023年哈尔滨能放烟花爆竹吗 2023年哈尔滨可以放烟花吗。 我没有qq号也没有,我想创一个怎么弄? 我想重新申请一个,怎么操作? 磁盘的性能用鲁大师测试评分1000分,主要影响电脑哪方面的运行? 磁盘性能是指什么 梦见跟别的男孩子牵手 外墙砖尺寸一般是多少 表格怎么一次选中2行? 沈阳人重阳节吃什么食物 可字开头的八个字的成语 请问下vb里字符串能否直接用于数学计算 vb运算符问题 vb 字符串和数值的问题。 vb字符串加法的运算 《我收了幼年大佬们做徒弟》txt下载在线阅读全文,求百度网盘云资源 《她收了大魔头们做徒弟》txt下载在线阅读全文,求百度网盘云资源 《大佬们都是我徒弟》txt下载在线阅读全文,求百度网盘云资源 《满城大佬都是我徒孙》txt下载在线阅读全文,求百度网盘云资源 《大佬都是我徒孙[娱乐圈]》txt下载在线阅读全文,求百度网盘云资源 《在学校做大佬的日子》txt下载在线阅读全文,求百度网盘云资源 山西。二零年专升本。道路桥梁工程技术。可以选择什么专业? ...我要专生本...可以报什么专业...需要考什么..推荐点最好 马桶堵了怎么办水完全下不去……急救啊T.T 力士香皂刚买的掉厕所里,堵住下水道了?有什么办法能疏通,都两天了,急... 拆迁买房怎么申请补贴 蘑菇的产地有哪些 货币市场基金债券正回购的资金余额不得超过( )。 怎么样对付收到的不喜欢的礼物呢? 如何回应不喜欢的礼物? 怎样对待收到的不喜欢的礼物呢?