Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    finalwebsites.com
    Re: 2punt5 of 2komma5
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: 2punt5 of 2komma5

    Hoi,

    Je kan op de client site niet vastleggen wat de gebruiker invoerd. Je
    kan twee dingen doen:

    valideren zodat de user het juist invoerd

    of

    je zorgt zelf voor het juiste format met str_replace of zo. je kan het
    ook proberen met floatval()

    het beste lijkt mij een combinatie van beide, valideren of het een
    decimaal getal is en dan de invoer omzetten zodat php ermee kan
    rekenen.


    --

    gr. Olaf
    PHP classes and scripts: http://www.finalwebsites.com


  2. #2
    Geert Wirken
    Re: 2punt5 of 2komma5
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: 2punt5 of 2komma5

    finalwebsites.com schreef op 14-11-2005 10:12:
    > Je kan op de client site niet vastleggen wat de gebruiker invoerd. Je
    > kan twee dingen doen:
    >
    > valideren zodat de user het juist invoerd


    .... invoerT!

    -- Geert

  3. #3
    Haico
    Re: 2punt5 of 2komma5
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: 2punt5 of 2komma5


    > Je kan op de client site niet vastleggen wat de gebruiker invoerd. Je
    > kan twee dingen doen:
    >
    > valideren zodat de user het juist invoerd
    >
    > of
    >
    > je zorgt zelf voor het juiste format met str_replace of zo. je kan het
    > ook proberen met floatval()
    >
    > het beste lijkt mij een combinatie van beide, valideren of het een
    > decimaal getal is en dan de invoer omzetten zodat php ermee kan
    > rekenen.


    floatval() geeft bij '2,5' 2 retour, da's een beetje jammer

    str_replace werkt. Voor het mooie controleren op een PUNT in de rechter 3
    tekens en deze vervangen voor een KOMMA en de overige PUNTEN dan
    verwijderen. Jammer dat floatval() niet toepasbaar is want nu moet ik
    'handmatig' foute karakters eruitvissen..

    Haico



  4. #4
    Haico
    Re: 2punt5 of 2komma5
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: 2punt5 of 2komma5

    Dit werkt zolang het allemaal cijfers, punten en komma's zijn:

    <?php
    $punt=0 ;
    for ( $n=strlen($puntkomma); $n>-1 ; $n-- ) {
    if ( substr($puntkomma,$n,1)=='.'){
    if ( ($punt=='0')&&($n>strlen($puntkomma)-3) ){
    // als er nog geen punt gevonden is
    // en het waarschijnlijk een punt is die als decimaalteken is bedoeld,
    dus de meest rechtse punt
    $puntkomma=substr($puntkomma,0,$n).",".substr($pun tkomma,$n+1,strlen($puntkomma)-$n-1)
    ;
    // str_replace(".", "", $puntkomma); // werkt bij mij echt niet :-(
    $punt='1' ;
    } else {
    $puntkomma=substr($puntkomma,0,$n).substr($puntkom ma,$n+1,strlen($puntkomma)-$n-1)
    ;
    }
    }
    }
    echo $puntkomma ;


    ?>
    <form action="puntkomma.php" method="post">
    voer iets in dat op een lengte lijkt <br>
    <input type="text" name="puntkomma" size="20" maxlength="20">
    <input type="submit" value="ok">
    </form>

    Blijft nog het probleem dat ik eigenlijk eerst alle vreemde karakters moet
    verwijderen ( wat nou zo leuk had geweest met floatval ) voordat ik de meest
    rechtse punt binnen 3 tekens van rechts kan vinden. ( bijvoorbeeld bij een
    invoer van "1.234.75 meter" ==> dat geeft "123475 meter"

    iemand een idee of ik dit met een PATROON kan oplossen?

    Groet,

    Haico




  5. #5
    finalwebsites.com
    Re: 2punt5 of 2komma5
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: 2punt5 of 2komma5

    je hebt gelijk

    floatval("2,5") geeft 2 zolang omadt dit een string is

    dat was ook de reden dat ik zei gebruik een combinatie van bijde.

    $var = floatval(str_replace(",", ".", $var));


Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics