Hi,
Wieso nicht? Was macht C# da so essentiell anders? Ist die Integer-Division in C# nicht definiert?
Doch, aber das Ergebnis ist Integer.
natürlich, soll es ja auch. Bei einer Operation, deren Operanden alle Integer sind, erwarte ich auch als Ergebnis einen Integer-Typ. Oder anders gesagt: Wenn ich mich in einem Kontext bewege, in dem ein Ergebnis in float sinnvoll wäre, dann sind in der Regel auch die Operanden schon float.
im Fall von int dividiert durch int gibt er nicht mal eine [Fehlermeldung] aus.
Warum sollte er auch? Das ist doch eine ganz normale Operation.
Dass 8/3 == 2 gilt, findest du normal?
Wenn ich mit Integerwerten hantiere, ja. Dann ist das genau das erwartete und "richtige" Ergebnis. Das ist ja genau das, was ich weiter oben schon sagte: Ich möchte nicht, dass ein Compiler oder Interpreter automatisch den Datentyp wechselt, nur weil das *auch* sinnvoll sein könnte.
Es dürfte doch eher die Ausnahme sein, dass eine Interger-Division glatt aufgeht, jedenfalls im normalen Leben ;) Wo nimmst du denn die 99% her?
Aus der Tatsache, dass ich, wenn ich als Programmierer tätig bin, fast nie mit Fließkommazahlen zu tun habe, sondern mich immer nur im Bereich der Ganzzahlen bewege. Fast immer. Und dann ist es eher vorteilhaft, wenn mir die Division an sich schon nur den ganzzahligen Teil liefert, so dass ich nicht noch explizit runden oder abschneiden muss. So wie bei deinem Quartals-Beispiel: Was für einen Sinn ergäne es, wenn ich für Mai das Quartal 1.66667 bekäme? Nein, im Bereich der Integerzahlen erhalte ich, wenn ich auch das berüchtige ±1-Problem beachte, sofort das richtige Ergebnis 2. Nicht 1.66667, auch nicht 2.0, sondern einfach 2.
Die meisten meiner C-Projekte enthalten gar kein Floating-Point-Support.
Wenn ein Compiler nicht einmal so etwas offensichtliches von selber "richtig" macht, ...
Es *ist* doch für die Menge der Ganzzahlen richtig. ;-)
Die Typ-Fehlermeldungen heißen doch auf deutsch immer nur "Sag's mir, Programmierer, ich bin zu blöd." ;)
Ich habe sie bisher immer verstanden als: "Bist du sicher, dass das okay ist, was du da tust?" Und das bringt mich manchmal zum Nachdenken und der Erkenntnis, dass ich irgendwo in dem Ausdruck einen Denk- oder Tippfehler habe, manchmal entlockt es mir auch nur ein gelangweiltes "Aber klar doch".
Schönes Wochenende noch,
Martin
--
Ich habe gerade erfahren, dass Tante Frieda gestorben ist. Der Tod hat sie im Schlaf ereilt. - Schrecklich. Dann weiß sie es also noch gar nicht?
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(