Stránka 1 z 1

, (čárka) v číslech v PHP

Napsal: pát 29. kvě 2009, 20:51
od arxeiss
Kámoš chodí do kurzu PHP a měli za úkol udělat kalkulačku BMI. A poprosil mě abych mu udělal kontrolu aby lidi nezadávali jiné než číselné hodnoty atd... a pak nastal ten problém, co když on zadá váhu 60,5 kg tak PHP to nevezme, proto jsem na to udělal skript který to řeší, ovšem v tu chvíli mě nanapadlo něco lehčího než toto:

Kód: Vybrat vše

if(isset($_POST['submit'])){
    $vyska = $_POST['vyska'];
    $vaha = $_POST['vaha'];   
    
    if(is_string($vaha) and !is_numeric($vaha)){
      $no_vaha = explode(",", $vaha);
      $kolik = strlen($no_vaha['1']);
      $deleno=1;
      for($i=0;$i<$kolik;$i++){
        $deleno=$deleno*10;
      }
      $vaha = $no_vaha['0'] + ($no_vaha['1'] / $deleno);
    }else{
      settype($vaha, "integer");
    }       
    if($_POST['vyska']=='' or $_POST['vaha']==''){
      echo "Musíte vyplnit všechna pole";
    }elseif(!is_numeric($vyska) or !is_numeric($vaha)){
      echo "Pole mohou obsahovat pouze čísla, a u výšky nezadávejte desetinné čísla";
    }elseif($vyska<=0 or $vaha<=0){
      echo "Čísla musejí být větší než 0";
    }else{
      settype($vyska, "integer");
      $vyska=$vyska/100;
      $bmi = $vaha / ($vyska * $vyska);
      echo "<h1>Vaše BMI je: ".$bmi."</h1><br>Vyska:".$vyska."<br>Vaha:".$vaha;
    }
  }
A ptám se jestli to jde i lehčeji.

Re: , (čárka) v číslech v PHP

Napsal: ned 31. kvě 2009, 13:30
od fobos
Ja by som to riešil nasledovne

Kód: Vybrat vše

<form method="post">
  <input type="text" name="ciarka">
  <input type="submit" value="OK">
</form>

<?php 

$ciarka=StrTr($_POST['ciarka'],",",".");

echo $ciarka;

?>
 
V okamihu , keď do inputu napíše čiarku, tak ju prehodí (StrTr) do bodky

Re: , (čárka) v číslech v PHP

Napsal: ned 31. kvě 2009, 14:59
od arxeiss
aha, Tuto funkci jsem jěště nepoužil tak mě to nenapadlo, ale jistě, je to ono. Díky