Nach einem Wert suchen +/- x

JVolker

Aktives Mitglied
Hallo

Wenn ich nach einer Zahl suche die gewissen Toleranzen unterliegt, wie sollte ich da am besten vorgehen??

Mein erster Gedanke war :

Gesuchte Zahl : 12,6 ( jetzt kann sein das die Zahl durch Toleranzen 12,4-12,8 ist)
Toleranz : +/- 0,2

jetzt hätte ich die zahl nach der ich suche einmal mit der Toleranz addiert und dann als unteren Wert gespeichert und das ganze spiel nochmal mit der positiven Tolerenz.

Danach dann mit if zahlToleranzminus < zahl < zahlToleranzplus

ginge dies auch einfacher??
 
Wenn die Toleranz nach beiden Seiten hin gleich ist könnte man das auch noch so ausrechnen:
Java:
if (Math.abs(zahl - gesuchteZahl) <= toleranz) { ... }
Aber ob das einfacher ist...
 
Danke für die schnelle Antwort

wie definiere ich jetzt in deinem Beispiel die Toleranz da diese ja + 0,2 oder aber auch -0,2 sein kann
 
Wenn für die Toleranz +/- 0,2 gilt, dann setzt du in dem Code oben einfach
Code:
0.2
ein.
 
Frage für dumme:

wieso kann ich da einfach nur einen positiven wert eingeben(nicht das es mich stört aber verstehen tue ich es noch nicht). Kapiert der dann auch die negative Toleranz???
 
Frage für dumme:

wieso kann ich da einfach nur einen positiven wert eingeben(nicht das es mich stört aber verstehen tue ich es noch nicht). Kapiert der dann auch die negative Toleranz???

Die Formel, die oben geschrieben wurde, lautet ja:
Code:
| zahl - 12.6 | <= 0.2
Setz doch einfach mal paar Werte ein, dann siehst du ob und wieso es klappt. Und du kannst ja auch mal ein -0.2 auf der rechten Seite ausprobieren... 😉

Nebenbei, folgendes (was du ja am Anfang geschrieben hast) würde genauso gut funktionieren, und was davon jetzt besser ist, könnte man sich streiten:
Java:
if (gesuchteZahl - toleranz <= zahl && zahl <= gesuchteZahl + toleranz) { ... }
Edit: Wobei ich das von EikeB besser lesbar finde. Ich wollte nur sagen, dein Ansatz war nicht falsch.
 
Danke für die Antworten. Habe den Code ausprobiert und komischer weise funzt das auch obwohl die Toleranz nur positiv ist. (find ich etwas verwirrend aber sehr angenehm)

Kann mir noch jemand erklären warum das so ist??
 
Durch
Code:
zahl - 12.6
bestimmst du die Differenz zwischen den beiden Werten. Bildlich gesprochen ist die Differenz einfach der Abstand der beiden Zahlen auf nem Zahlenstrahl. Durch den Betrag wird der Abstand (fast 😛 ) immer positiv gemacht. Und wenn der Abstand kleiner gleich der Toleranz ist, dann erfüllt die Zahl deine Wünsche.

Einfach mal aufzeichnen auf nem kleinen Blatt Papier.
 

Zurück
Oben