2009-03-13 7 views
4

Je suis nouveau au développement et je reçois l'erreur "Expression attendue" quand je tente de compiler le code ci-dessous. Qu'est-ce que je fais mal?Je suis un débutant et je ne comprends pas pourquoi mon code lance "Expression attendue"

Public Class Form1 

    Private Sub btnCompute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCompute.Click 

     Dim Occupation As String = CStr(txtOccupation.Text) 
     Dim Bill As Double = CDbl(txtBill.Text) 
     Dim Tip As Double = CDbl(txtTip.Text) 

     lstOutput.Text = Bill * (1 + if (Tip<1,Tip,Tip/100)) 

    End Sub 
End Class 
+2

@Josh - C'est immérités –

+1

@Josh - Est-ce pas votre ego appartiennent sur votre journal en direct? – Davey

+0

Ne commençons pas une guerre de flamme. –

Répondre

9

Je devine que l'exception est jeté sur la dernière ligne

lstOutput.Text = Bill * (1 + if (Tip<1,Tip,Tip/100)) 

Vous avez utilisé « si » qui est utilisé dans un if ... then, mais je parie que vous vouliez dire IIF, qui est une fonction

lstOutput.Text = Bill * (1 + IIf (Tip<1,Tip,Tip/100)) 

juste ajouter que l'un supplémentaire "i" et vous devriez être bien

Article explaining the difference between "IF" and "IIF()"

+0

Cela a fait l'affaire. Merci de votre aide! – Davey

+0

Désolé ... juste pour effacer quelque chose dans ma tête, utilisez-vous pre Visual Studio 2008 Davey, je pensais inline si était valide à partir de 2008 – spacemonkeys

0

Si vous utilisez 2008? ou plus tard, si est ok

Dim tipT As New TextBox 
    Dim Bill As Decimal = 9D 
    Dim tip As Decimal = 20 
    tipT.Text = Convert.ToString(Bill * If(tip >= 1, tip/100, tip)) 
Questions connexes