Le code suivant montre trois façons de formater un nombre à virgule flottante pour l'afficher avec le nombre voulu de décimales. La deuxième façon est celle généralement recommandée.
import java.io.*; import java.text.*; import java.util.*; public class FormatageVirguleFlottante { public static void main(String args[]) { double pi = 3.141592654; int nbDecimales = 4; System.out.println(pi); System.out.println(); // // Méthode 1 : transformer le nombre en chaîne de caractères // String chaine = new Double(pi).toString(); int posPoint = chaine.indexOf("."); chaine = chaine.substring(0, Math.min(chaine.length(), posPoint + nbDecimales + 1)); System.out.println(chaine); System.out.println(); // // Méthode 2 (recommandée) : avec la classe java.text.NumberFormat // NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumFractionDigits(nbDecimales); System.out.println(nf.format(pi)); System.out.println(); // // Méthode 3 : pour les nostalgiques du langage C // Formatter formateur = new Formatter((OutputStream) System.out); try { formateur.format("%1.4f %n%n", pi); } catch (IllegalFormatException ife) { System.err.println("Format invalide"); System.exit(1); } formateur.flush(); formateur.close(); } }