2010-09-24 8 views
3

Je stocke des valeurs monétaires dans ma table db. Par exemple. J'ai 2.50. Mais quand j'imprime cette valeur, le 0 est toujours manquant donc je reçois 2.5. Le champ d'argent de la table db a le type suivant: decimal(6,2)Problème d'affichage de type décimal MySql

une idée comment résoudre ce problème?

Répondre

7

Par défaut, PHP echo et print n'impriment pas les zéros de fin d'un nombre à virgule flottante.

Pour remédier à cela, vous devez utiliser printf comme:

$money = 2.50; 

printf("%.2f",$money); // prints 2.50 

echo $money;   // prints 2.5 
print $money;   // prints 2.5 

Le spécificateur de format utilisé dans printf est "%.2f" ce que cela signifie est toujours imprimer atleast deux chiffres après la virgule et s'il n'y a pas plusieurs chiffres utilisent 0.
Notez qu'il est au moins deux chiffres non égale à deux chiffres. Donc, si j'imprimer 1.234 avec ce format il pas tronquer à 1.23 mais imprimera 1.234 et si j'imprimer 1 cela se traduira par 1.00

+0

grâce, cela fonctionne;) –