我有一个文本文件,内容是:
留在后面,拉哈耶,F,7,11.25
《双城记》,狄更斯,F,100,8.24
《用丝带悬挂一千棵树》,Rinaldi,F,30,16.79
萨菲的天使,McKay,F,20,8.22
《每只歌唱的小鸟》,威尔斯,F,10,7.70
住在主里,默里,N,3,12.20
圣经预言,Lahaye和Hindson,N,5,14.95
迷人,Eldredge,N,12,16
在基督教生活的深处成长,Swindoll,N,11,19.95
疗愈心灵的祈祷,Virkler,N,4,12.00
在优雅中成长,弗格森,N,3,11.95
《又好又美的上帝》,史密斯,N,7,11.75
战胜黑暗,安德森,N,12,16
每行的最后一个元素是一个价格。我想把所有的价格加起来。我已经找了这么多小时了,都找不到一个东西来回答我的问题。这看起来太简单了,但我搞不懂!请帮帮忙。顺便说一句,这个列表肯定会改变(增加行,删除行,改变行),所以如果你可以,请不要什么具体的东西,而是让代码保持开放的变化。谢谢!
为了让你能看到我的pooooorrrr工作,这里是我所拥有的(我想我删除了我的代码,并以不同的方式重写了几个小时):
Dim Inv() As String = IO.File.ReadAllLines("Books.txt")
Dim t As Integer = Inv.Count - 1
Dim a As Integer = 0 to t
Dim sumtotal As String = sumtotal + Inv(4)此外,每一行都有一个"F“或"N”。我如何将所有的F和N相加?我是通过if语句来实现的吗?
发布于 2012-07-31 05:28:48
首先,最好使用Double作为类型,而不是String。其次,观察我如何对每一行使用Split函数,将其最后一个元素转换为双精度值,并将其添加到总数中。是的,您可以使用If语句来确定是否对F的计数或N的计数进行相加。
Dim lstAllLines As List(Of String) = IO.File.ReadAllLines("Books.txt").ToList()
Dim dblTotal As Double = 0.0
Dim intCountOfF As Integer = 0
Dim intCountOfN As Integer = 0
For Each strLine As String In lstAllLines
Dim lstCells As List(Of String) = strLine.Split(",").ToList()
dblTotal += CDbl(lstCells(3))
If lstCells(2) = "F" Then
intCountOfF += 1
Else
intCountOfN += 1
End If
Nexthttps://stackoverflow.com/questions/11729681
复制相似问题