printf, sprintf imprime au moins deux décimales
Je suis à essayer de comprendre comment utiliser sprintf pour imprimer au moins deux décimales et pas de zéros. Par exemple
d'entrée:
23
23.0
23.5
23.55
23.555
23.0000
de sortie:
23.00
23.00
23.50
23.55
23.555
23.00
toute mise en forme de l'aide serait appréciée
source d'informationauteur PhilBrown
Vous devez vous connecter pour publier un commentaire.
N'est pas intégré dans le spécificateur de format. Vous pouvez vérifier si le nombre à imprimer a deux ou moins de deux décimales (arrondi à deux décimales et de comparer), et si oui, utilisez %.02f. Si le numéro comporte plus de décimales, utilisez un %g spécificateur. Voici un exemple en Ruby:
Sorties:
en PHP, vous pouvez utiliser
Ne "23.555".toFixed(2) de ne pas faire ce que je pense? (Javascript)
En PHP, vous pouvez utiliser le
number_format
à cet effet, trop, ce qui vous permet également de modifier les séparateurs.En php c'est ce que j'ai fait (inspiré par ce post). Peut-être pas le plus élégant, mais... j'ai fait une fonction pour imprimer les numéros de chaînes de caractères. Je voulais être en mesure de disposer de la souplesse nécessaire donc, j'ai un couple de paramètres.
PHP:
Et à l'appel de la fonction (pour avoir au moins deux décimales, mais max 4:
Si le nombre est 34.1, vous obtenez 34.10
Si le nombre est 34.12345 vous obtenez 34.1235
etc.