Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1405 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Convertir un nombre entier en decimal si ce nombre est plus...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Convertir un nombre entier en decimal si ce nombre est plus...

n°2030190
dabiz
Posté le 18-10-2010 à 13:34:16  profilanswer
 

Bonjour,
Ayant cherché pendant 2H30 une réponse à mon problème je me tourne vers vous.
Voici mon probleme:
Comment convertir (en PHP) un nombre entier en decimal
exemple:
 
325412 Mo en 325 Go
 
voici mon l'appel de mon resultat mais je n'arrive pas à programmer le tout.
 

Code :
  1. $req = mysql_query ("SELECT uploadsize From users WHERE id = $USER[id]" );
  2. $user = mysql_fetch_array($req);
  3. echo("".$user['uploadsize']." Mo" );


 
Voila jusque la tout va bien mon resultat s'affiche.
 
325412 Mo
 
Maintenant je voudrait convertir ce resultat en Go
soit 325 Go
 
donc j'ai fait ce script mais ca ne fonctionne pas comme je le voudrait
 

Code :
  1. $req = mysql_query ("SELECT uploadsize From users WHERE id = $USER[id]" );
  2. $user = mysql_fetch_array($req);
  3. if ($user["uploadsize"]>999) {
  4. $user["uploadsize"] = "$user[uploadsize] Go";
  5. } else {$user["uploadsize"] = "$user[uploadsize] Mo";}
  6. echo("".$user['uploadsize']." " );


 
grace à ce script le résultat est maintenant 325412 Go
 
merci de m'éclaircir sur le sujet
amicalement


Message édité par dabiz le 18-10-2010 à 14:46:54
mood
Publicité
Posté le 18-10-2010 à 13:34:16  profilanswer
 

n°2030220
flo850
moi je
Posté le 18-10-2010 à 14:20:41  profilanswer
 

Code :
  1. $upload_size = $user["uploadsize"];
  2. if ($upload_size  >1024) { // 1Go = 1024 Mo
  3.    $upload_size_go = $upload_size  /1024 ; // on passe en Go
  4.    $upload_size_go_arrondi = round($upload_size_go , 1); //on arrondi a un chiffre après la virgule
  5.    echo "($upload_size_go_arrondi Go)";
  6. } else {
  7. echo "($upload_size Mo)";
  8. }


Message édité par flo850 le 18-10-2010 à 14:21:10
n°2030228
dabiz
Posté le 18-10-2010 à 14:32:47  profilanswer
 

Bonjour Flo850 et merci pour ta réponse
personnellement j'ai fait ce script qui fonctionne bien et qui a résolut mon problème.
 

Code :
  1. <?PHP
  2. //recupère le nombre entier
  3. $req = mysql_query ("SELECT uploadsize From users WHERE id = $USER[id]" );
  4. // va chercher le resultat
  5. $user = mysql_fetch_array($req);
  6. // Si '$user["uploadsize"]plus grand que 999 Mo' alors:
  7. if ($user["uploadsize"]>999){   
  8. // le resultat
  9. $str = "$user[uploadsize]";
  10. //ajoute une virgule entre chaque chiffre puis garde les 3 premiers chiffres seulement
  11. $newstr = substr(implode(",", preg_split('//', $str)), 1, -6);
  12. // efface les virgules
  13. $newstr = str_replace (",","",$newstr);
  14. //ajoute l'extension
  15. $ecarle = "Go";
  16. }
  17. // sinon
  18. else {
  19. //recupère le chiffre entier
  20. $newstr = "$user[uploadsize ]";
  21. //ajoute l'extension
  22. $ecarle = "Mo";
  23. }
  24. // affichage du resultat
  25. echo $newstr, $ecarle;
  26. ?>


 
Ce qui me fournis bien mon resultat 325 Go


Message édité par dabiz le 18-10-2010 à 14:36:15
n°2030229
flo850
moi je
Posté le 18-10-2010 à 14:36:00  profilanswer
 

:eek:
 
tu n'as pas trouvé plus sale ?  
 

n°2030232
dabiz
Posté le 18-10-2010 à 14:37:53  profilanswer
 

nn dsl xD
c'est le seul truc que j'ai pu faire depuis ce matin et qui fonctionne xD

n°2030233
flo850
moi je
Posté le 18-10-2010 à 14:38:40  profilanswer
 

honnêtement, utilise mon code, il est quand même plus lisible (une division, puis un arrondi)

n°2030238
dabiz
Posté le 18-10-2010 à 14:41:20  profilanswer
 

c'est fait ne t'inquiète pas il fonctionne parfaitement merci beaucoup

n°2030252
masklinn
í dag viðrar vel til loftárása
Posté le 18-10-2010 à 14:54:49  profilanswer
 

Sinon tu fais une requête google via CURL, il est très bon pour ce genre de conversions, ça prend genre 3 lignes :o


Message édité par masklinn le 18-10-2010 à 14:54:57

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Convertir un nombre entier en decimal si ce nombre est plus...

 

Sujets relatifs
convertir \u00eb en ë (résolu, problème d'encodage/décodage)Attribuer un nombre à du texte sur liste déroulante
Convertir XLS en SQLnombre en lettre
Access2003+état requete analyse croisée avec nombre champs variablesnombre de fichiers où appartient un terme
Convertir du code qui utilise wsdlDriver pour Savon ou Handsoap (SOAP)Probleme pour convertir une chaine en variable double
Nombre de valeurs différentes[RESOLU] [javascript] recharger une fenetre (grand) parent
Plus de sujets relatifs à : [RESOLU]Convertir un nombre entier en decimal si ce nombre est plus...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR