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 Zitieren
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. Zitieren
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 Zitieren
lilith2k3 Geschrieben 14. Mai 2011 Geschrieben 14. Mai 2011 / Operator (Visual Basic) \-Operator (Visual Basic) Und da hast Du auch die passende Erklärung :] Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.