【问题标题】:How to open text file and parse it如何打开文本文件并解析它
【发布时间】:2013-06-10 00:34:33
【问题描述】:

我有以下问题。在我的表格上,我将值“76,50”的表格写为“07650”。现在我想用值 76,50 而不是 07650 在列表框中再次打开我的文件。

Public Class AddwhenOpen 

Public number As Integer
Public name As String
Public Birthday As Integer
Public perc As Decimal
Public comboboxvalue As String

Public Function ToStringForPrinter() As Decimal

Return comboboxvalue & nummer.ToString.PadLeft(5) & naam.PadLeft(5) & Geboortejaar.ToString.PadRight(5) & (perc / 100).ToInt64("00,00")

End Function

类代码

`Public Class ChangeFormatBackToDecimal

Public number As Integer
Public name As String
Public Bday As Integer
Public perc As Decimal
Public comboboxvalue As String

Public Function TostringForPrinter() As String
    Return comboboxvalue & number.ToString.PadLeft(5) & name.PadLeft(5) & Bday.ToString.PadRight(5) & Format(perc / 100, "#00,00")
End Function`

打开文件时的代码...

    Dim index As Integer = 0
    Dim lijn As String

    'Keuzelijst leegmaken.
    lstOutput.Items.Clear()


    With dlgOpenen
        .Filter = "textfiles (*.txt) | *.txt"
        .FileName = ""
        .InitialDirectory = "C:\My Documents"
        .Title = "Open"
    End With

    If dlgOpenen.ShowDialog = DialogResult.OK Then
        FileOpen(1, dlgOpen.FileName, OpenMode.Input)
        Do While Not EOF(1)
            line = LineInput(1)
            lstOutput.Items.Add(line)
        Loop
        FileClose(1)
    End If
    Resetdefaultvalue()

将数据调暗为新的 ChangeFormatBackToDecimal

    data.comboboxvalue = cboAfdeling.SelectedItem.ToString.PadRight(5) & cboKlasGetal.SelectedItem.ToString & cboAfdeling.SelectedItem.ToString & cboKlasLetter.SelectedItem.ToString.PadRight(5)

    data.number = CInt(txtNumber.Text)
    data.name = txtName.Text
    data.Bday = CInt(txtBday.Text)
    data.perc = CDec(txtPerc.Text)


    lstOutput.Items.Add(data)

有人可以帮我吗?

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 使用 winforms 还是 webforms?
  • 为什么将值保存为07650?为什么不将其另存为76.50
  • 使用winforms。我有一堂课(非常好的帮助)。我试图改革我所拥有的课程。 Public Class AddwhenOpen Public number As Integer Public name As String Public Birthday As Integer Public perc As Decimal Public comboboxvalue As String Public Function ToStringForPrinter() As Decimal Return comboboxvalue & nummer.ToString.PadLeft(5) & naam.PadLeft(5) & Geboortejaar.ToString.PadRight(5) & (perc / 100).ToInt64("00,00") End Function 但这不起作用:)...
  • 当有人问你到目前为止尝试了什么时,这意味着请发布你的代码:-) ...所以请发布你的代码并将代码放在实际问题中,而不是在 cmets 中:)跨度>

标签: vb.net


【解决方案1】:

更改字符串 76,50 而不是 07650。

Dim n as Integer = val("07650")

Dim s as String = format(s/100)

这是可选的...

s = s.Replace(".",",") 
s = s.PadRight(5,"0")  

关于您的代码:

应该是

Return comboboxvalue & nummer.ToString.PadLeft(5) & naam.PadLeft(5) & Geboortejaar.ToString.PadRight(5) & format(perc / 100,"#0.00")

【讨论】:

  • “更改字符串”不起作用...我的值在一个变量中,该变量在一个额外的类中声明...我如何获得保存为的值,例如“ 07650”,再次以“76,50”的值进入表单...
  • 我的值“07650”是字符串类型。唯一的事情是......我无法理解:S
  • Thnx 但它不起作用:S。我想我做错了什么,......再次......我已经把我的类代码和打开文件到上面主题的列表框中。
  • 我有一个 invalidCastException... 在 data.nummer = CInt(txtNummer.Text)
  • 如果不是您的 txtnumber.text 不是有效的数字文本 .. 或尝试使用 convert.toint32(txtnumber.text) ..
猜你喜欢
  • 2019-01-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多