0

我有一个文本文件,内容如下:

落后,拉哈耶,F,7,11.25

两个城市的故事,狄更斯,F,100,8.24

用丝带挂一千棵树,Rinaldi,F,30,16.79

萨菲的天使,麦凯,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

善良美丽的上帝,Smith,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 语句来做的吗?

4

1 回答 1

0

首先,最好使用 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

    Next
于 2012-07-30T21:28:47.550 回答