Par défaut le Nombre de Décimales à la Sortie de PHP
Je fais de mon php travailler sur ma boîte de dev à la maison, où j'ai un rudimentaire de la LAMPE de l'installation. Quand je regarde mon site sur ma boîte de la maison, tous les numéros que je écho sont automatiquement tronqué pour le moins de précision requise. Par exemple 2 est l'écho que 2, 2.2000 est l'écho que 2.2.
Sur la boîte de production, tous les numéros sont fait l'écho avec au moins une inutile de zéro, par exemple 100 devient 100.0. Sur les deux zones, la version de PHP est 5.2.5. Personne ne sait désinvolte si il y a un paramètre que je peux changer ce qui va forcer PHP pour supprimer automatiquement tous les zéros? Je ne veux pas avoir à aller à chaque endroit dans mon code où je l'ai sortie et remplacer echo avec printf ou quelque chose comme ça.
Muchas gracias.
Vous devez vous connecter pour publier un commentaire.
Et quand vous ne pouvez pas compter sur la configuration de PHP, n'oubliez pas number_format() que vous pouvez utiliser pour définir la façon dont un certain nombre est retourné, ex:
PS: et essayez d'éviter d'utiliser money_format(), car il ne fonctionnera pas sur Windows et quelques autres boîtes
Un coup d'oeil rapide à la disposition INI paramètres chose me votre précision valeurs sont différentes?
merci pour toutes les réponses - la solution était de jeter la valeur de retour de la méthode responsable d'un flotteur. I. e. il était en train de faire
J'ai juste changé la
puis PHP tronqué des zéros à la fin si nécessaire.
Quelqu'un peut-il fermer ce?
Juste pour éliminer d'autres causes possibles: Où sont les numéros à venir à partir de? Faut-il faire cela avec des valeurs littérales?
Il ne semble pas probable que la précision de réglage seuls peuvent en être la cause. Vérifiez également si quelque chose interfère peut-être avec la sortie par des choses comme
auto_prepend_file
ououtput_handler
.Vous devez utiliser la ronde() la commande de toujours arrondir à la baisse de la précision que vous voulez, sinon un jour, vous obtiendrez quelque chose comme 2.2000000000123 en raison de la nature de flotteur de l'arithmétique.
Essayer à la fonction intégrée
tour
;Exemple #1 round() exemples
Exemple #2 mode d'exemples