Karakter format %f, %e(%E), %g(%G) dan %a(%A) dapat memformat float, Float, double dan Double, di mana:
%f memformat nilai sebagai angka floating point desimal, dengan mempertahankan 6 tempat desimal.
%e (%E) memformat nilai sebagai angka floating point desimal dalam notasi ilmiah. %E menggunakan huruf besar pada simbol eksponen saat memformat.
Misalnya:
StringS=String.format(%f,%e,1234.56,1234.56);
Maka string snya adalah 1234.560000,1.23456e+03.
Saat memformat bilangan positif, tanda positif terpaksa ditambahkan. Misalnya: %+f memformat 123,45 sebagai +123,45, dan %+E memformat 123,45 sebagai +1,2345E+2.
Saat memformat bilangan floating point, kelompokkan bagian bilangan bulat berdasarkan "ribuan", misalnya:
Strings=String.format(bagian bilangan bulat dikelompokkan berdasarkan ribuan:%+,f,123456789.987);
Maka string s adalah bagian bilangan bulat yang dikelompokkan berdasarkan ribuan: +123,456,789.987000.
"%.nf" dapat membatasi jumlah tempat desimal, dimana n adalah jumlah tempat desimal yang dipertahankan, contoh: %.3f memformat 3.1415926 menjadi 3.142 (mempertahankan 3 tempat desimal).
Format umum untuk menentukan lebar data adalah %md , yang efeknya adalah menambahkan spasi di sebelah kiri angka; jika %-md , efeknya adalah menambahkan spasi di sebelah kanan angka.
Misalnya, untuk memformat angka 12.34 menjadi string dengan lebar 10:
String=String.format(%10f,12.34);
Maka string s adalah 12.340000 dan panjangnya (s.length()) adalah 10, yaitu s menambahkan karakter spasi di sebelah kiri 12.340000, untuk:
String=String.format(%-10f,12.34);
Maka string s adalah 12.340000 dan panjangnya (s.length()) adalah 10, yaitu s menambahkan karakter spasi di sebelah kanan 12.340000.
Saat menentukan lebar, Anda juga dapat membatasi jumlah tempat desimal (%m.nf), untuk:
String=String.format(%10.2f,12.34);
Maka string s adalah 12,34 dan panjangnya (s.length()) adalah 10, yaitu s menambahkan 5 karakter spasi di sebelah kiri 12,34.
Kita juga bisa menambahkan awalan 0 di depan lebarnya, artinya menggunakan angka 0 dan tidak menggunakan spasi untuk mengisi sisa lebar di sebelah kiri, misalnya:
String=String.format(%010f,12.34);
Maka string s adalah 012.340000 dan panjangnya (s.length()) adalah 10, yaitu s menambahkan angka 0 di sebelah kiri 12.340000.
Catatan : Jika lebar angka sebenarnya lebih besar dari lebar yang ditentukan dalam format, maka angka akan diformat sesuai dengan lebar sebenarnya.