PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formular überprüfen


RycoDePsyco
18.10.2005, 16:34:19
Hallo, ich bin auf der Suche nach einer Funktion die überprüft wieviel
Zahlenfelder hinter dem Komma stehen und evtl. eine Fehlermeldung ausgibt.

Ich meine... wenn ein User 2.445 angibt und er darf aber nur 2 Zahlen nach dem Komma angeben, so soll es eine Fehlermeldung geben.

Es soll aber nicht gerundet werden wie bei round() oder änliches.

Ich brauche eine Fehlermeldung das 3 und mehr Stellen hinter den Komma nicht möglich ist.

Kann mir da jemand helfen...

Ich danke auf jeden fall für die Antworten!

xabbuh
18.10.2005, 18:13:48
Mit folgendem regulären Ausdruck kannst du prüfen, ob es sich um eine Zahl mit maximal zwei Nachkommastellen handelt:

<?php
$regex = '#^\d+(.\d{1,2})?$#';
if(preg_match($regex, $str))
// gültig
else
// ungültig
?>

Usul
19.10.2005, 19:55:33
Wieso sollte man nicht zum Testen runden duerfen? Du rundest doch nicht die Originalzahl.

Pseudocode:

$hilfsZahl = $originalzahl;
$hilfsZahl = runde($hilfsZahl * 100);
$hilfsZahl = $hilfszahl / 100;
if ( $hilfsZahl != $originalzahl )
{
falsche Eingabe!
}


Edit: Wobei die oben genannten Loesung mit Regex natuerlich besser ist und auch zu empfehlen ist. Ich wollte nur auf das "keine rundung" eingehen.