In JAVA, "data accuracy", such as 2.333333333333333333333, may occur during data computing. At this time, we have to consider formatting. I have summarized several issues, decimal point.
Note: As this is very simple, please refer to the Demo program below.
Format a number
In the NumberFormat class, four numeric formatting methods are provided: integer, decimal, currency, and percentage. The Factory method is getNumberInstance, getNumberIntance, getCurrencyInstance, the getPercentInstance method can be used to obtain the corresponding instance object. For example, we want to use a string to represent RMB 88888.88, so we can write it as follows:
NumberFormat nf = NumberFormat. getCurrencyInstance ();
System. out. println (nf. format (88888.88 ));
Customize and format numbers
However, NumberFormat cannot meet a slightly more complex requirement. Fortunately, java also provides DecimalFormat for custom formatting. To use a DecimalFormat object, you must provide it with a format (pattern ):
String pattern =...
DecimalFormat df = new DecimalFormat (pattern );
Or:
DecimalFormat df = new DecimalFormat ();
Df. applyPattern (pattern );
Then you can call its format method.
Example,
Directly run the code:
Import java. text. DecimalFormat;
Import java. text. NumberFormat;
Public class Test {
Public static void main (String [] ){
DecimalFormat df = (DecimalFormat) NumberFormat. getInstance ();
DecimalFormat df2 = (DecimalFormat) DecimalFormat. getInstance ();
DecimalFormat df1 = (DecimalFormat) DecimalFormat. getInstance ();
// Set the maximum number of decimal places to 2
Df. setMaximumFractionDigits (2 );
System. out. println ("sets the maximum number of digits to 2 decimal places ");
System. out. println ("12.1 after conversion ======" + df. format (12.1 ));
System. out. println ("12.1454651 after conversion ======" + df. format (12.1454651) + "\ n ");
// Set the number of decimal places to 2
Df1.applyPattern ("0.00 ");
System. out. println ("set the number of digits of the decimal point to 2 ");
System. out. println ("12.1 after conversion ======" + df1.format (12.1 ));
System. out. println ("12.1454651 after conversion ======" + df1.format (12.1454651) + "\ n ");
// Set the percentage
Df. applyPattern ("##. ##% ");
System. out. println ("set percentage ");
System. out. println ("1 after conversion ======" + df. format (1 ));
System. out. println ("0.016 after conversion ======" + df. format (0.016) + "\ n ");
// Set the group size
Df2.setGroupingSize (4 );
System. out. println ("set group size ");
System. out. println ("123456789 after conversion ======" + df2.format (123456789 ));
}
}
Run the command. The result is as follows::
Sets the maximum number of decimal places to 2
12.1 after conversion ====== 12.1
12.1454651 after conversion ====== 12.15
Set the number of decimal places to 2
12.1 after conversion ====== 12.10
12.1454651 after conversion ====== 12.15
Set percentage
1 after conversion ====== 100%
0.016 after conversion ====== 1.6%
Set group size
123456789 after conversion ==== 6789