Veröffentlicht 13. Mai 201114 j 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
13. Mai 201114 j Wenn du zwei Integer dividierst, ist das Ergebnis wieder ein Integer. 1/2 = 1/11 = 0.
13. Mai 201114 j Autor 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
14. Mai 201114 j / Operator (Visual Basic) \-Operator (Visual Basic) Und da hast Du auch die passende Erklärung :]
15. Mai 201114 j double dPercent = (1.0 / 2.0) * 100; Müsste auch zu deinem gewünschten Ergebnis führen Grüße abi2010
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.