| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1419 人关注过本帖
标题:[求助]如何才能快速掌握VB?
只看楼主 加入收藏
hytf
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2007-5-11
收藏
得分:0 

哎!同感,我也是初学,
最近刚刚编了个小程序,还老多问题
又没人帮忙给改改
真是郁闷 啊
Private Function GetNumber(f As Double, iPos As Integer) As String
Dim k As Integer
Dim i As Double
Dim s As String
Dim s1 As String
Dim s2 As String
Dim k1 As Double, k2 As Double


s = CStr(f)
i = InStr(1, s, ".") '查找小数点的位置
'检查是否需要进行处理
s1 = Mid(s, i + iPos + 1, 1)
s2 = Mid(s, i + iPos, 1)
k = Val(s1)
k2 = Val(s2)
If Len(s) - i < iPos Then
MsgBox "小数位数不足,请人工检查"
End If
If Len(s) - i = iPos Then s1 = s
If Len(s) - i > iPos Then '最后一位<5:舍去,>5:进位,=5:奇进偶舍

If k < 5 Then '舍去
s1 = Left$(s, i + iPos)
ElseIf k > 5 Then '进位
s1 = Mid(s, i + iPos, 1)
k = Val(s1)
k = k + 1
s1 = Left$(s, i + iPos - 1) + Trim(Str(k))
ElseIf k = 5 Then '奇进偶舍
s1 = Mid(s, i + iPos, 1)
k = Val(s1)
k2 = Len(s) - i - iPos - 1
If k2 = 0 Then '偶舍
If k Mod 2 = 0 Then
s1 = Left$(s, i + iPos)
Else '奇进
k = k + 1
s1 = Left$(s, i + iPos - 1) + Trim$(Str(k))
End If
Else
k = k + 1
s1 = Left$(s, i + iPos - 1) + Trim$(Str(k))
End If
End If
End If

' s1 = Format(s1, "####0.000")
' Print s1
GetNumber = CStr(s1) '送回处理后的数据
End Function
这个函数谁能给修改修改?
现在的问题是小数太多了后保留错误
比方说1.05450000000000000000000004586,保留3位小数(四舍六入,奇进偶舍),应该为1.055,但程序却是1.054
我看了这么多0,len(s)最多只能显示到16,但对其他非0的好像影响不大,这个不知道怎么修改

2007-08-05 09:28
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
四舍六入,奇进偶舍
四和六好像都是偶数.....汗了

2007-08-05 09:59
hytf
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2007-5-11
收藏
得分:0 
不是一个位置的,老大!!
保留三位小数
1.0544~1.054 ’四舍六入
1.0546~1.055

1.0545~1.054‘奇进偶舍
1.0535~1.054
1.0565~1.056
1.054512~1.055
2007-08-06 11:40
t65170655
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-6
收藏
得分:0 
我建议你去买本VB的书 自己慢慢看 记主要带有光盘的 没光盘不要
买了书从头开始看 看完了 自己在看光盘里做的程序 ````
2007-08-06 13:02
ldh3322
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-7
收藏
得分:0 

多看多实践多找问题解决问题

2007-08-07 13:28
快速回复:[求助]如何才能快速掌握VB?
数据加载中...
 
   



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

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