Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.106 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Funktion für kommastelle

  Alt 18. Dez 2006, 17:43
Moin ruffy,

zwei Fälle deckt diese Prüfung allerdings noch nicht ab:
Das Komma steht am Anfang.
Das Komma steht am Ende.

Die Prüfung, ob ein Komma enthalten ist, kannst Du übrigens auch mit pos erledigen, und musst nicht jedes Zeichen in eine Schleife durchgehen.

Besonders "elegant" könntest Du das Problem lösen, indem Du erst einmal Werte ohne Komma zulässt, und dann anhand eines Wertebereiches prüfst, ob der Wert evtl. noch durch 100 geteilt werden muss, wenn er in cm angegeben wurde.

Die Angabe von 2 wäre ja beispielsweise ohne Komma, aber wohl nicht verkehrt (Du würdest dann 2,00 oder 2,0 erwarten).

Um das mit dem Teilen noch einmal zu verdeutlichen:
Der gültige Wertebereich wäre, z.b, 0,30m bis 2,80m.
Jetzt wandelst Du die Eingabe in einen numerischen Wert und stellst fest, dass er > 2,80m ist, beispielsweise 170.
Dann muss der Wert noch durch 100 geteilt werden => 1,70 => liegt im Wertebereich.
Das könntest Du dann, korrigiert, im Eingabefeld wieder ausgeben.

Eine Prüfung des Wertebereiches solltest Du eh machen, denn wenn jemand 170,0 eingibt, wäre das ja auch nicht richtig.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat