Seite 1 von 1

auf ,5 runden

Verfasst: Sonntag 16. April 2023, 09:42
von egon11
Hallo, ich mache mir gerade Gedanken wie man eine Zahl auf ,5 runden kann. also runden in fünfer Schritten.

Beispiel:
1,8 - 2,2 entspricht 2,0
2,3 - 2,7 entspricht 2,5
2,8 - 3,2 entspricht 3,0
und so weiter

Gibt es da schon eine "Vor-Funktion" oder kann man das selbst coden?

Re: auf ,5 runden

Verfasst: Sonntag 16. April 2023, 09:57
von nezzcarth
Die eingebaute 'round'-Funktion rundet wissenschaftlich. Andere mehr oder weniger gängige Modi sind über das 'decimals'-Modul zugänglich: https://docs.python.org/3/library/decimal.html
Andere Modi musst du selbst implementieren.

Re: auf ,5 runden

Verfasst: Sonntag 16. April 2023, 09:58
von Sirius3
Durch eine einfache mathematische Operation kann man das Runden auf Einhalb in ein Runden auf ganze Zahlen umwandeln. Die Operation macht man natürlich nach dem Runden wieder rückgängig.

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 06:09
von egon11
Sirius3 hat geschrieben: Sonntag 16. April 2023, 09:58 Durch eine einfache mathematische Operation kann man das Runden auf Einhalb in ein Runden auf ganze Zahlen umwandeln. Die Operation macht man natürlich nach dem Runden wieder rückgängig.
Wie meinst du das?

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 06:10
von ThomasL
egon11 hat geschrieben: Sonntag 16. April 2023, 09:42 Beispiel:
1,8 - 2,2 entspricht 2,0
2,3 - 2,7 entspricht 2,5
2,8 - 3,2 entspricht 3,0
und so weiter
was entspricht denn dann 2,21 oder 2,29 etc? Wären gemäß deiner Beispiele nicht definiert. ;-)

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 06:26
von sparrow
egon11 hat geschrieben: Montag 17. April 2023, 06:09 Wie meinst du das?
Du willst auf 0.5 statt auf 1 runden.
0.5 ist 1/2.
Also sollte es reichen deinen Asugangsweg mit 2 zu multiplizieren, dann herkömmlich zu runden und das Ergebnis wieder zu dividieren.

Dann würde auch von ThomasL benannte Problem nicht auftreten.
2.21 sollte dann 2.0 ergeben, 2.29 2.5.

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 06:40
von egon11
Das runden sollte wie gesagt immer in 0,5 er schritten erfolgen.
1,2 (oder 1,29) soll auf 1,0. 1,31 z.B. auf 1,5 gerundet werden.
1,79 soll auf 1,5 und 1,8 auf 2 gerundet werden.

Allerdings kommen die Ergebnisse auf eine stelle nach Komma an.

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 07:39
von sparrow
Das wäre aber ein eher ungewöhnliches Verhalten. Kann man machen, klingt aber falsch. 1,29 ist näher an 1,5 statt an 1,0.
Aber wenn du eh nur eine Nachkommastelle hast, kannst du ja die von mir genannte Lösung nehmen.

Re: auf ,5 runden

Verfasst: Montag 17. April 2023, 11:34
von egon11
sparrow hat geschrieben: Montag 17. April 2023, 07:39 Das wäre aber ein eher ungewöhnliches Verhalten. Kann man machen, klingt aber falsch. 1,29 ist näher an 1,5 statt an 1,0.
Aber wenn du eh nur eine Nachkommastelle hast, kannst du ja die von mir genannte Lösung nehmen.
Genau das funktioniert, danke.