Java DecimalFormat示例
时间:2020-02-23 14:34:59 来源:igfitidea点击:
在本教程中,我们将看到如何使用Java中使用DECIMALFORMAT格式化数字。
decimalformat
DECIMALFORMAT类是NumberFormat类的子类,它用于使用指定格式模式格式化数字。
我们可以使用逗号格式化最多2个小数点的小数点,使用逗号到分隔数字。
创建decimalformat对象
String pattern="###,###.00"; DecimalFormat df=new DecimalFormat(pattern);
我们通过DECIMALFORMAT构造函数指定数字的字符串(即模式)。
DECIMALFORMAT的格式方法可用于格式化Number.once我们创建DECIMALFORMAT对象的对象,我们可以调用格式方法并将数字传递为参数。
String number=df.format(123456789.123);
一些数字格式模式是:
符号 | 意思 |
---|---|
0 | 它总是显示0,如果数字有较少的数字 |
# | 一位数字,领先的零,并显示固定数字 |
. | 标记十进制分隔符。 |
, | 标记分组分隔符。 |
下面是一些示例
|模式|号码|格式化的字符串|
| --- - | --- | - - |
| 00.## | 8.567 | 08.56 |
| ###,###.## | 987654.56 | 987654.56 |
| ###.000 | 12345.84 | 12345.84 |
下面的示例显示了在Java中的DefimalFormat的使用:
package org.igi.theitroad; import java.text.DecimalFormat; //import package public class DecimalFormatExample { public static void main(String args[]) { //formatting number upto 2 decimal places String pattern1="###,###.00"; //pattern according to which number will be formatted DecimalFormat df=new DecimalFormat(pattern1); //object creation and initialized with string System.out.println(df.format(987654341.9)); //pass number to format method for formatting System.out.println(df.format(7654341.987)); //formatting upto 3 decimal places String pattern2="#,###.000"; df=new DecimalFormat(pattern2); System.out.println(df.format(100000098)); System.out.println(df.format(10000000.98)); System.out.println(df.format(10000000.98789)); } } When you run above program, you will get below output
输出
987,675,341.90 7,654,341.99 1,000,000,980.000 10,000,000.980 10,000,000.987
在上面的示例中,当我们在十进制之后格式化高达2位数的小数点时,在十进制之后只有两位数的数字将仅打印两位数,在高达3位小数位置,如果其中少于三位数字,则将仅打印到3位数的3位数。
到底。
分组数字
我们可以使用DECIMALFORMAT对象上的方法SetGroupSize()从十进制开始分组数字。
package org.igi.theitroad; import java.text.DecimalFormat; //import package public class DecimalFormatExample { public static void main(String args[]) { //formatting number upto 2 decimal places String pattern1="###,###.00"; //pattern according to which number will be format DecimalFormat df=new DecimalFormat(pattern1); //object creation and initialized with string df.setGroupingSize(4); System.out.println(df.format(987654341.9)); //pass number to format method for formatting } }
运行上面的程序时,我们将得到以下输出
9,8765,4341.90
Please note that DecimalFormat is not thread safe means in multithreading environment don’t use DecimaFormat.