|Java Data Types - Numeric Data|
|Written by Ian Elliot|
Page 3 of 3
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
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:
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.
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:
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:
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.
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.