2014-05-06 3 views
0

J'ai un programme qui prend 3 nombres dans une zone de texte et fait un calcul entre eux, et met le résultat dans une autre zone de texte. Voici le codePourquoi mon programme ne se divise pas correctement?

Dim def As Long 
Dim work As Long 
Dim mili As Long 
Dim prim As Long 


Private Sub calculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles calculate.Click 
def = defense.Text 
work = working.Text 
mili = military.Text 
prim = (def * 100000000000) + work + mili/1000000000000 
primary.Text = prim 
End Sub 
End Class 

Est-ce parce que j'ai les variables que Long? J'ai aussi essayé le double et ça n'a pas l'air de marcher. Fondamentalement, c'est bien jusqu'à la (def * 100000000000) + travail + mili, mais se termine là et ne divise pas par le 1 billion.

+0

Assurez-vous que votre multiplication ne dépasse pas 9.2E18 – MrZander

Répondre

2

Vous voulez probablement quelque chose comme

prim = ((def * 100000000000) + work + mili)/1000000000000 

Sans ces parenthèses, votre expression est le même que

prim = (def * 100000000000) + work + (mili/1000000000000) 
Questions connexes