以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求文本中的数字之和  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25179)

--  作者:lrj03
--  发布时间:2012/11/2 15:15:00
--  求文本中的数字之和
有这么一行文本“年金643.8 医保1540.83 失业金404.33 公积金9704.7养老金5746.16"在窗体备注框中,求其中数字的和,要怎么编程呢?
--  作者:狐狸爸爸
--  发布时间:2012/11/2 15:21:00
--  

太难,我路过,小林上!

 

图片点击可在新窗口打开查看


--  作者:lin_hailun
--  发布时间:2012/11/2 15:33:00
--  
 用正则表达式……挺简单。如下代码

Dim data As String = "年金643.8 医保1540.83 失业金404.33 公积金9704.7养老金5746.16"
Dim catchs As New System.Text.RegularExpressions.Regex("[0-9\\.]+")
Dim mc As System.Text.RegularExpressions.MatchCollection = catchs.Matches(data)
Dim sum As Double = 0
For i As Integer = 0 To mc.Count - 1
    sum = sum + mc(i).Value
Next
msgbox(sum)

--  作者:狐狸爸爸
--  发布时间:2012/11/2 15:35:00
--  

图片点击可在新窗口打开查看


--  作者:hanxuntx
--  发布时间:2012/11/2 15:42:00
--  

佩服,学习了


--  作者:lihe60
--  发布时间:2012/11/2 15:45:00
--  
以下是引用lin_hailun在2012-11-2 15:33:00的发言:
 用正则表达式……挺简单。如下代码

Dim data As String = "年金643.8 医保1540.83 失业金404.33 公积金9704.7养老金5746.16"
Dim catchs As New System.Text.RegularExpressions.Regex("[0-9\\.]+")
Dim mc As System.Text.RegularExpressions.MatchCollection = catchs.Matches(data)
Dim sum As Double = 0
For i As Integer = 0 To mc.Count - 1
    sum = sum + mc(i).Value
Next
msgbox(sum)

收藏。


--  作者:布莱克朱
--  发布时间:2012/11/2 20:04:00
--  
收藏!
--  作者:lrj03
--  发布时间:2012/11/3 0:50:00
--  
学习了,谢谢,在网搜了好久,才大概晓得system.text是调用啥,辛苦地学习中....