Formatage des flottants avec une précision décimale
Le formatage des nombres à virgule flottante avec un nombre spécifique de décimales est une tâche courante dans divers scénarios de programmation. Pour y parvenir, une approche largement utilisée consiste à utiliser la classe BigDecimal en Java. Cependant, si le type de retour attendu est un float, l'utilisation de BigDecimal peut donner des résultats incorrects.
Dans l'exemple de code donné :
<code class="java">public static float Redondear(float pNumero, int pCantidadDecimales) { // the function is call with the values Redondear(625.3f, 2) BigDecimal value = new BigDecimal(pNumero); value = value.setScale(pCantidadDecimales, RoundingMode.HALF_EVEN); // here the value is correct (625.30) return value.floatValue(); // but here the values is 625.3 }</code>
Le problème survient lors de la reconversion de la valeur BigDecimal en un flotter. A cet effet, il est recommandé d'utiliser la méthode String.format comme suit :
String.format("%.2f", floatValue);
En spécifiant le nombre de décimales souhaité dans le spécificateur de format (%.2f), vous pouvez obtenir une chaîne formatée représentation de la valeur flottante avec la précision spécifiée. Notez que le type de retour est une chaîne dans ce cas.
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!