Formatage des nombres à virgule flottante avec un contrôle précis
Lorsqu'il s'agit de nombres à virgule flottante, il est souvent souhaitable de les formater de manière esthétique sans décimales inutiles des zéros. Considérez la tâche consistant à imprimer une plage de valeurs incluant des entiers stockés sous forme de doubles et de véritables doubles.
Éviter les zéros de fin avec des codes de format spécifiques
While String.format(" %f", valeur) peut sembler approprié, il ajoute des zéros à droite pour les petites valeurs. Pour obtenir la précision souhaitée, envisagez d'utiliser des codes de format alternatif :
Fonction de formatage personnalisée avec vérification décimale
Pour un contrôle précis, implémentez une fonction de formatage personnalisée qui fait la différence entre les entiers et les nombres entiers. doubles :
public static String fmt(double d) { if (d == (long) d) return String.format("%d", (long) d); else return String.format("%s", d); }
Cette fonction vérifie si la valeur double représente un entier (en utilisant un casting forcé à long). Si c'est le cas, il formate la valeur sous forme d'entier à l'aide de String.format("%d"); sinon, il formate le double sans précision inutile.
Exemple de sortie :
En utilisant cette fonction personnalisée, la sortie souhaitée peut être obtenue :
232 0.18 1237875192 4.58 0 1.2345
Remarque sur les considérations régionales
Le formatage des chaînes est sensible aux paramètres régionaux. Les résultats de formatage précis peuvent varier en fonction des paramètres régionaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!