2016-06-12 27 views
1

Ich muss ein Schulprojekt eines Währungskonverters in Visual Studio mit Basic-Sprache vorbereiten. Ich bekomme den Wert von extange von der XE-Website und es gibt eine Zeichenfolge wie "1.23454 GBP 'zurück. Also muss ich die meisten Zeichen und Zahlen entfernen, um sie als Dezimalzahl zu haben, nicht als String, damit ich sie später in der Berechnung verwenden kann. ich habe versucht, .Remove überall zu verwenden und es in textBox oder Aufkleberort aber es hat nicht funktioniert.VB .Entfernen von String

Public Class receipt 
Private Sub receipt_Load(sender As Object, e As EventArgs) Handles Me.Load 
    Dim testString As String = "sadasdasd" 
    customername.Text = "Name: " + My.Settings.Username 
    Label6.Text = "Entered Money: " + My.Settings.inputamount + " " + My.Settings.currency 
    Label7.Text = "Converted To: " + My.Settings.outputamount 
    Label8.Text = "Charge: 0 (0%)" 
    TextBox1.Text = testString.Remove(4, 9) 
End Sub 

End Class

Screenshot of program running

Kann mir jemand helfen, diese Arbeit zu bekommen

+0

Es ist nicht klar, was erwartet in Ihrer TextBox1 angezeigt werden, wenn die Eingabe ist 1.23454 BRITISCHES PFUND' . Könnten Sie diesen Punkt klären? – Steve

+0

In textBox sollte "traurig" zeigen, aber das Problem ist die Methode .Entfernen funktioniert überhaupt nicht. Ich habe vorher mit dem Wert 1,2454 GBP versucht, aber es war das gleiche Ergebnis, was bedeutet, dass es überhaupt nicht funktioniert hat. Ich weiß nicht, warum ich nicht kann. Entferne mich von Strings. – user5717551

Antwort

0

Ihre aktuelle Eingabe von „sadasdasd“ und Ihrem erwarteten Rückgabewert dann der Anruf an string.Remove Da

TextBox1.Text = testString.Remove(3) 

sein sollte Wenn Sie die MSDN documentation page of string.Remove sehen Sie, dass der Index Null basierten sehen konnten, so dass Sie entfernen möchten alles, beginnend mit dem vierten Zeichen, das Index 3 ist (behält 0,1,2, entfernt von 3)

Es scheint auch, dass Sie denken, dass der Remove second -Parameter der End-Index ist, wo die Aktion Entfernen beendet werden soll. Aber das ist falsch, der zweite Parameter ist die Anzahl der Zeichen zu entfernen, so 9 ist nicht korrekt und gibt Ihnen wahrscheinlich eine ArgumentOutofRange Exception

+0

Vielen Dank, es hat mein Problem behoben. – user5717551