8797 sujets
re,
j'essai déjà de reproduire ton prob pour tenter de le resoudre en suite avec un printf ( ou un sprintf )qui indiquerais le format a affiché.
ou essayé la fonction number_format de php.
mais j'arrive pas a avoir des 10e7 dans mes bases. jai essayé des champs de type int, double, decimal
et d'y mettre des 1000000,10000000,100000000,1000000000 et même des 10e7 dans phpmyadmin et rien a faire même les 10e7 sont traduit en 1000000
edit AH
si avec le type float ca fait ainsi ouf . le seul que j'avais pas testé.
bon alors voila avec printf ou sprintf ( si tu veux recuperer l'affichage dans une variable )
un %f te renverra le 1.e7 sous forme 10000000.00000
un %.0f te donnera 10000000 sans virgule car tu auras precisé flottant avec 0 de precision derriere la virgule.
attention a l'utilisation de simple float dans des calculs mathématiques. c'est la porte ouverte au pb d'approximation.
Modifié par CPascal (09 Mar 2008 - 13:10)
j'essai déjà de reproduire ton prob pour tenter de le resoudre en suite avec un printf ( ou un sprintf )qui indiquerais le format a affiché.
ou essayé la fonction number_format de php.
mais j'arrive pas a avoir des 10e7 dans mes bases. jai essayé des champs de type int, double, decimal
et d'y mettre des 1000000,10000000,100000000,1000000000 et même des 10e7 dans phpmyadmin et rien a faire même les 10e7 sont traduit en 1000000


edit AH

bon alors voila avec printf ou sprintf ( si tu veux recuperer l'affichage dans une variable )
un %f te renverra le 1.e7 sous forme 10000000.00000
un %.0f te donnera 10000000 sans virgule car tu auras precisé flottant avec 0 de precision derriere la virgule.
attention a l'utilisation de simple float dans des calculs mathématiques. c'est la porte ouverte au pb d'approximation.
Modifié par CPascal (09 Mar 2008 - 13:10)
quel type de variable est-ce karenma?
j'avais un 1e+0008 qui est devenu 100000000
je vais essayé avec sprintf.
j'avais fais des tests avec printf. je vais verifier sprintf.
maintenant tu sais il y a plus d'une version de mysql.
au pire du pire si personne ne trouve un fct php ou mysql
faisant la translation il faudrait l'ecrire....
mais j'ai du mal a croire qu'il n'existe pas déjà quelquechose
j'avais un 1e+0008 qui est devenu 100000000
je vais essayé avec sprintf.
j'avais fais des tests avec printf. je vais verifier sprintf.
maintenant tu sais il y a plus d'une version de mysql.
au pire du pire si personne ne trouve un fct php ou mysql
faisant la translation il faudrait l'ecrire....

mais j'ai du mal a croire qu'il n'existe pas déjà quelquechose
Salut,
Parce que ce n'est pas
En passant, si ton nombre est un entier, autant remplacer son type float par int
.
A+
Edit: en repassant, je suppose que tu n'as qu'un enregistrement qui a l'id '210' donc si c'est le cas : inutile d'utiliser la boucle while.
Modifié par Heyoan (09 Mar 2008 - 19:41)
karenma a écrit :
j'ai essayé ce que tu m'as dit
mais ce n'est pas 1000000 qui s'affiche mais 1
Parce que ce n'est pas
$var= sprintf("%.0f",$essai);
mais$var= sprintf("%.0f",$essai['essai']);
ou$var= sprintf("%.0f",$essai[0]);
En passant, si ton nombre est un entier, autant remplacer son type float par int

A+
Edit: en repassant, je suppose que tu n'as qu'un enregistrement qui a l'id '210' donc si c'est le cas : inutile d'utiliser la boucle while.
Modifié par Heyoan (09 Mar 2008 - 19:41)