Java Data Types - Numeric Data
Written by Ian Elliot   
Article Index
Java Data Types - Numeric Data
Literals and Expressions
Numeric Output


Numeric Output

Before a number can be displayed it has to be converted to a string - more on strings in the next chapter.

Again beginners often have a problem with this idea because they don't realize that there is a need to convert the internal binary representation of a number into characters that can be displayed.  

The simplest way to get numeric output is to use the println or print methods of out

double myDouble=1.523454565;
int myInt=2;

 In each case the printlin method performs a default conversion of the numeric value to a string.

What if we want to control the conversion?

The answer is that you can use the format or printf methods in place of print or println.

The way that this works is that you specify a format and the variables to be printed. The rules for the format can be complicated but the first rule is that any regular character in the format is just displayed. So for example:

System.out.printf("this is my number",myDouble);

just displays "this is my number" the value in myDouble isn't displayed.

To get a the value in a variable displayed you have to include a format specifier which all start with %. How the number is displayed depends on the format specifier you choose.

For example:

System.out.printf("this is my number %f",myDouble);


this is my number 1.523455

Notice that the value of the variable is displayed where the format specifier occurs - the value replaces the format specifier in the output.

If you want to specify the number total number of characters and the digits after the decimal point to use then you can precede the f  by two numbers c.d which gives the total number of characters including the decimal point and fractional digits f, For example:

System.out.printf("this is my number %5.2f",

displays the floating point number using a total of 5 characters with 2 digits after the decimal point i.e.

this is my number  1.5

You can use other format specifiers for other numeric types and for general formatting:

  • %d is a decimal integer
  • %f is a floating point value
  • %n is a newline

If you add a leading + you get a sign printed, a comma includes a locale specific grouping character and a - left justifies the value in the space.

System.out.printf("this is my number %+-10.2f",myDouble);


this is my number +1.52

There are a lot more ways to format numbers and you should lookup the DecimalFormat class if you want to control the way values are displayed even more.

However when we are working with a GUI like Swing we generally want to convert the numeric values to strings before they are displayed and this is covered in more detail in the next chapter.


Modern Java
With NetBeans And Swing



  1. Why Java?
  2. Getting started with Java
  3. Introducing Java - Swing Objects
  4. Writing Code
  5. Command Line Programs
  6. User Interface - More Swing
  7. Working With Class
  8. Java Class Inheritance
  9. Java Data Types - Numeric Data
  10. Java Data Types - Arrays And Strings
  11. Building a Java GUI - Containers
  12. Advanced OOP - Type, Casting, Packages
  13. Value And Reference 
  14. Java Lambdas, SAMs And Events


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.





or email your comment to: