Ciao a tutti, vi posto un pezzo di codice che ho scritto. Serve per un calcolo di variazioni handicap nel golf, ma il principio è molto semplice: si inserisce in una textbox l'handicap di partenza, in un'altra textbox il punteggio ottenuto e poi si calcola l'handicap aggiornato.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim hcp_part As Single, score As Integer
hcp_part = Convert.ToSingle(TextBox1.Text)
score = Convert.ToInt16(TextBox2.Text)
If score < 32 Then
hcp_part = hcp_part + 0.1
ElseIf score > 36 Then
For i As Integer = 37 To score
If hcp_part <= 6 Then
hcp_part = hcp_part - 0.2
ElseIf hcp_part > 6 And hcp_part < 13 Then
hcp_part = hcp_part - 0.3
ElseIf hcp_part >= 13 Then
hcp_part = hcp_part - 0.5
End If
Next
End If
Hcp_finale.Text = hcp_part
End Sub
Ho notato però che esistono casi critici: ad esempio inserendo 4,5 nell'handicap di partenza e 54 nel punteggio si ottiene 0,8999997 anzichè 0,9.
Come mai? Dove sbaglio? Forse in qualche conversione di tipo?
Se avete qualche correzione da fare, ditemi tutto: sono alle prime armi e i consigli non bastano mai!
Saluti