Changement d'unité

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Changement d'unité

par djtec » 30 juin 2007, 21:05

Tout le monde fait des erreurs Albat

Moi j'utilise l'autre car je la trouve plus facile a modifier et plus facile a comprendre

par albat » 30 juin 2007, 20:48

Au temps pour moi, j'avais oublié de parenthéser...

Voici la version corrigée : :langue:
echo ($taille>100000 ? ($taille/100000)." km" : ($taille>100 ?  ($taille/100)." m" : $taille." cm")); 

par djtec » 30 juin 2007, 20:01

C'était ça Ripat c'était bien les paranthèse.

Maintenant cela fonctionne.

Merci à vous deux.

par Ripat » 30 juin 2007, 16:09

Albat aucune des deux solutions fonctionne sa me met

Code : Tout sélectionner

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Manquerait pas des parenthèses des fois?
if ($taille > 100000)
   { echo ($taille/100000)." km";
   }
   else
   { if ($taille > 100)
       { echo ($taille/100)." m";
       }
       else
       { echo $taille." cm";
       }
   } 

par albat » 30 juin 2007, 16:02

:idea: Vérifie l'existence de $resultat['taille']...


EDIT : Ripat, taquin ! :lol:
Alors qu'il n'y a rien de plus obfuscated que les regexp que tu adores ! ;)

par Ripat » 30 juin 2007, 16:01

Ou, en utilisant l'opérateur ternaire :
$taille = $resultat['taille'];
echo ($taille>100000 ? $taille/100000." km" : ($taille>100 ?  $taille/100." m" : $taille." cm"));
Classe, non ? :cool:
Très clâââsse en effet.

Moins lisible que le bon vieux if mais je suppose que tu t'entraînes pour le Obfuscated Code contest :wink:

Allez, je m'y mets aussi
$taille = 1000;
$aaah_lbat = <<<ICI
bY9NCsIwEEb3PcVHEapQWn+WDQF37uzCC8Qk2sHYQpO6kV7Wk5jUFoo6i4
GZ780j0bJqkLBqy/fmLFwKRQ6MPhOMgDQvX9ZqlhNPIUWtSPlIdJBNLZuut
TieL52VwmmF8lD6vfK0V0as2vGTIGM0mpauVAsTkh1PsoUb9lkyh7zxoVtH
I1REdMFyJMGxWYdaRQCe0OHlU5iPURbjdo+LQPShaWP1B/8xDRr8VwXPqMGk
wkw3O5v+EUN+X/TFGw==
ICI;
eval(gzinflate(base64_decode($aaah_lbat)));
:langue:

par djtec » 30 juin 2007, 15:26

Albat aucune des deux solutions fonctionne sa me met

Code : Tout sélectionner

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

par albat » 30 juin 2007, 11:53

Ou, en utilisant l'opérateur ternaire :
$taille = $resultat['taille'];
echo ($taille>100000 ? $taille/100000." km" : ($taille>100 ?  $taille/100." m" : $taille." cm"));
Classe, non ? :cool:

par albat » 30 juin 2007, 11:51

$taille = $resultat['taille'];
if ($taille > 100000)
   { echo $taille/100000." km";
   }
   else
   { if ($taille > 100)
       { echo $taille/100." m";
       }
       else
       { echo $taille." cm";
       }
   }
Au passage, 1000 cm ne font pas 1 km ! ;)

par orgerix » 30 juin 2007, 11:49

Tu divise par 1000 ou par 100, tout simplement

par albat » 30 juin 2007, 11:47

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".
;)

Changement d'unité

par djtec » 30 juin 2007, 10:57

Bonjour,

Voilà j'ai un champs ou les membres entre un nombre.

Ce nombre est pas défault à rentrer en cm.

Et je voudrais que lorsqu'il s'affiche il change d'unité s'il est plus grand que 100.


Exemple:

1 cm il affiche 1 cm
100 cm il affiche 1 m
1000 cm il affiche 1 km



J'ai réussit a faire l'affichage de l'uinité avec ceci:
if($resultat['taille'] > 1)
{ 
$rtaille = ''.stripslashes($resultat['taille']).' cm';
} 
elseif($resultat['taille'] > 100)
{ 
$rtaille = ''.stripslashes($resultat['taille']).' m';
} 
elseif($resultat['taille'] > 1000)
{ 
$rtaille = ''.stripslashes($resultat['taille']).' km';
} 
Mais je ne trouve pas comment faire pour par exemple changer les 1000 en 1 et si c'est 1250 en 1,25.


Si quelqu'un avait une idée.

Merci d'avance.