Java Tutorial/Development/Formatter Field Width

Материал из Java эксперт
Перейти к: навигация, поиск

Displaying at most 15 characters in a string

   <source lang="java">

import java.util.Formatter; public class MainClass {

 public static void main(String args[]) {
   Formatter fmt = new Formatter();
   fmt = new Formatter();
   fmt.format("%.15s", "Formatting with Java is now easy.");
   System.out.println(fmt);
 }

}</source>



Formatting with


Format to 2 decimal places in a 16-character field

   <source lang="java">

import java.util.Formatter; public class MainClass {

 public static void main(String args[]) {
   Formatter fmt = new Formatter();
   fmt = new Formatter();
   fmt.format("%16.2e", 123.1234567);
   System.out.println(fmt);
 }

}</source>



1.23e+02


Limit the number of decimal digits by specifying the precision

   <source lang="java">

import java.util.Formatter; public class Main {

 public static void main(String[] argv) throws Exception {
   Formatter fmt = new Formatter();
   fmt.format("Default precision: %f\n", 10.0 / 3.0);
   fmt.format("Two decimal digits: %.2f\n\n", 10.0 / 3.0);
   System.out.println(fmt);
 }

}</source>





Specifying a Minimum Field Width

An integer between the % sign and the format conversion code acts as a minimum field width specifier.

The default padding is done with spaces.

If you want to pad with 0"s, place a 0 before the field width specifier.

For example, %05d will pad a number of less than five digits with 0"s.



   <source lang="java">

import java.util.Formatter; public class MainClass {

 public static void main(String args[]) {
   Formatter fmt = new Formatter();
   fmt.format("%05d", 88);
   System.out.println(fmt);
 }

}</source>



00088


The minimum field width specifier by applying it to the %f conversion

   <source lang="java">

import java.util.Formatter; public class MainClass {

 public static void main(String args[]) {
   Formatter fmt = new Formatter();
   fmt.format("|%f|%n|%12f|%n|%012f|", 10.12345, 10.12345, 10.12345);
   System.out.println(fmt);
 }

}</source>



|10.123450|
|   10.123450|
|00010.123450|


To produce tables with the columns lining up

   <source lang="java">

import java.util.Formatter; public class MainClass {

 public static void main(String args[]) {
   Formatter fmt;

   for(int i=1; i <= 10; i++) {
     fmt = new Formatter();
     fmt.format("%4d %4d %4d", i, i*i, i*i*i);
     System.out.println(fmt);
   }
 }

}</source>



1    1    1
2    4    8
3    9   27
4   16   64
5   25  125
6   36  216
7   49  343
8   64  512
9   81  729
10  100 1000