Gateway_man Geschrieben 13. Mai 2011 Geschrieben 13. Mai 2011 Ich verstehe nicht ganz was der compiler bei folgender berechnung als Ergebniss bekommt: double percent2 =(1 /2) * 100; der compiler zeigt mir an das percent2 den wert 0.0 nach der berechnung innehält. Ich versteh es nicht. Es sollten eigentlich 50.0 rauskommen. Ich habs mal durchlaufen lassen und per debugger auf wert geprüft beispielsweise mit folgendem ergebnis: double percent2 =(1 /11) * 100; //result:0.0 percent2 =(2 /11) * 100;//result:0.0 percent2 =(3 /11) * 100;//result:0.0 percent2 =(4 /11) * 100;//result:0.0 percent2 =(5 /11) * 100;//result:0.0 percent2 =(6 /11) * 100;//result:0.0 percent2 =(7 /11) * 100;//result:0.0 percent2 =(8 /11) * 100;//result:0.0 percent2 =(9 /11) * 100;//result:0.0 percent2 =(10 /11) * 100;//result:0.0 percent2 =(11 /11) * 100;//result:100.0 lediglich die 100 Prozent werden richtig errechnet. Was ist das bitte für ein verhalten? lg Gateway
Klotzkopp Geschrieben 13. Mai 2011 Geschrieben 13. Mai 2011 Wenn du zwei Integer dividierst, ist das Ergebnis wieder ein Integer. 1/2 = 1/11 = 0.
Gateway_man Geschrieben 13. Mai 2011 Autor Geschrieben 13. Mai 2011 Vielen dank. Jedoch verwundert es nich das es in C Sharp anders gemacht wird als in vb.net, da ich es in vb.net immer so gemacht habe. lg Gateway
lilith2k3 Geschrieben 14. Mai 2011 Geschrieben 14. Mai 2011 / Operator (Visual Basic) \-Operator (Visual Basic) Und da hast Du auch die passende Erklärung :]
abi2010 Geschrieben 15. Mai 2011 Geschrieben 15. Mai 2011 double dPercent = (1.0 / 2.0) * 100; Müsste auch zu deinem gewünschten Ergebnis führen Grüße abi2010
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden