标题:我是小白,刚刚试着编写了一段代码.请指正
只看楼主
微杨
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-22
结帖率:0
已结贴  问题点数:20 回复次数:4 
我是小白,刚刚试着编写了一段代码.请指正
Private Sub 计算_Click()
Dim 单价, 数量, 折扣金额, 消费金额, 应付金额 As String
消费金额 = Val(单价) * Val(数量)
If 消费金额 > 200 Then
折扣金额 = Val(消费金额) * 0.1
应付金额 = Val(消费金额) - Val(折扣金额)
Else
消费金额 = 应付金额
End If
End Sub


上面这段代码运行没 有计算出应有的结果.没有任何反应.我不知道错在那里?有人能给讲解一下吗?'
搜索更多相关主题的帖子: 编写 代码 金额 If End 
2019-03-22 21:18
yingshu
Rank: 4
等 级:贵宾
威 望:10
帖 子:49
专家分:212
注 册:2018-7-24
得分:10 
Dim 单价, 数量, 折扣金额, 消费金额, 应付金额 As String   '声明变体型浪费资源。建议:Dim 单价 as string, 数量 as string,  应付金额 As String
消费金额 = Val(单价) * Val(数量)  ’第一个错误,为什么计算结果不是你想要的结果,单价和数量没有赋值,当然不会有反应了
Else
消费金额 = 应付金额  '第二个错误,不超过200,没有折扣,应该是消费金额直接赋值给应付账款,两个反了
2019-03-22 21:52
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:10 
几个问题
Dim 单价, 数量, 折扣金额, 消费金额, 应付金额 As String   
1、因为都是数字数据,在定义是必须采用是那种数字数据,不要定义维变体数据,也不要定义维字符串数据。而且每个变量都必须定义数据类型。
像这样   Dim 单价 As Single, 数量 As Integer, 折扣金额 As Single, 消费金额 As Single, 应付金额 As Single
2、在计算之前没有给需要的变量赋值,这样变量即就是定义了数据类型,不是 0 ,就是空字符串,因此  消费金额 = Val(单价) * Val(数量) 是没有计算结果的,当然下面的计算也就没有计算结果了。
应该是   单价 = 12.52    :数量 = 100,这样才能计算哟!

请不要选我!!!
2019-03-23 16:12
微杨
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-22
得分:0 
回复 3楼 ZHRXJR
谢谢.是因为没有赋值的原因
2019-03-24 13:44
微杨
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-3-22
得分:0 
回复 2楼 yingshu
谢谢
2019-03-24 13:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493733-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090256 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved