[RESOLU] champ float afficher 2 apres point

gdc
Eléphant du PHP | 101 Messages

25 janv. 2013, 17:46

Salut, c encore moi...


Je suis bugger avec une function d'affichage,

Dans ma SQL mon champ est en float

CHAMP SQL: 1,6
affichage dans ma page 1, 0947865734


comment faire pour afficher seulement 2 chiffre apres le point ??

Ma Function:
function cashfilleuls() {
$query = "SELECT SUM(parrain_cash) AS TOTAL FROM membre WHERE parrain='".$_SESSION['login']."'"; 
$result = mysql_query($query) or die (mysql_error()); 
$resultat=mysql_fetch_row($result); 
echo $resultat[0]; // affichage du résultat 
 }

elle est appeler dans ma page php cashfilleuls(); cela fonctionne mais c que ca l'affiche plein de chiffre apres le point ...

MERCI ,,,,

Mammouth du PHP | 571 Messages

25 janv. 2013, 18:00

bonjour,

en php:
round( 1. 0947865734, 2); //1.09
en mysql (lors de la sélection des données):
round( 1. 0947865734, 2); //1.09

Mammouth du PHP | 2278 Messages

25 janv. 2013, 18:54

Ou bien, comme en C, se servir d'un format d'affichage avec sprintf
http://fr2.php.net/manual/fr/function.sprintf.php
ce qui ne ferait pas d'arrondi
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
ViPHP | 2577 Messages

25 janv. 2013, 19:18

Pour les montants, il peut être préférable de travailler en centimes et donc de manipuler uniquement des entiers. Cela évite pas mal de soucis avec les arrondis. Les conversions €/centime se font uniquement à l'affichage et à la saisie.

Il me semble que les floats sont des réels et non de décimaux. Dans certains langages, "0,1" par exemple pour être stocké en 0,0999999 du fait su stockage en base 2 / base 10. Je ne sais pas si le php est concerné. En fortran 0,2 - 0,1 - 0,1 donne rarement 0, mais souvent 0,000...0000xxx

gdc
Eléphant du PHP | 101 Messages

25 janv. 2013, 20:17

MERCI


la function round marche a perfection...


MERCI TLM de votre aide...