在Java中没有格式化的数据遵循以下原则: 如果数据绝对值大于0.001或者小于1000000,Java将以常规小数形式表示。 如果数据绝对值小于0.001或者大于1000000,使用科学记数法表示。
如果上面的形式无法满足实际要求,Java提供了DecimalFormat类进行格式化操作。 DecimalFormat是NumberFormat的一个子类,可以格式化十进制数字,或者也可以通过DecimalFormat类中的applyPattern()方法来实现数字格式化。在格式化化数字时,将使用一些特殊字符,如下表:
字符 | 说明 |
---|---|
0 | 代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该位不存在数字,则显示0 |
# | 代表阿拉伯数字,使用特殊字符“#”代表数字的一位阿拉伯数字,如果该位存在数字,则显示字符,如果该位不存在数字,则不显示 |
. | 小数分隔符或者货币小数分隔符 |
- | 负号 |
, | 分组分隔符 |
E | 分隔科学记数法中的尾数和指数 |
% | 本符号放置在数字的前缀或后缀,将数字乘以100显示为百分数 |
\u2030 | 本符号放置在数字的前缀或后缀,将数字乘以1000显示为千分数 |
\00A4 | 本符号放置在数字的前缀或后缀,作为货币记号 |
’ | 本符号为单引号,当上述特殊字符出现在数字中时,应为特殊符号添加单引号,系统会将此符号是为普通符号处理 |
package number;
import java.text.DecimalFormat;
public class Xuexi {
static public void Format_1(String str,double value)
{
//实例化DeclmalFormat对象
DecimalFormat myFormat = new DecimalFormat(str);
String output =myFormat.format(value);
System.out.println(value+" "+str+" "+output);
}
static public void Format_2(String str,double value)
{
//使用方法进行格式化
DecimalFormat myFormat = new DecimalFormat();
myFormat.applyPattern(str);
System.out.println(value+" "+str+" "+myFormat.format(value));
}
public static void main(String[] args) {
//使用第一种方法
Format_1("###,###.###",123456.789);
Format_1("00000000.###kg",123456.789);
Format_1("0000.0",6.789);
//第二种方法
Format_2("#.###%",0.789);
Format_2("#.#",12346798.789);
Format_2("0.00\u2030",0.789);
}
}
结果如图:
在DecimalFormat类中除了可以设置格式化模式来格式化数字之外,还可以使用一些特殊方法对数字进行格式化设置,例如:
DecimalFormat myformat=new DecimalFormat(); //实例化DecimalFormat类对象
myFormat.setGrou[ingSize(2); //设置将数字分组的大小
myFOrmat setGroupingUsed(false); //设置是否支持分组
下面来看实例:
package number;
import java.text.DecimalFormat;
public class Xuexi {
public static void main(String[] args) {
DecimalFormat myFormat =new DecimalFormat();
myFormat.setGroupingSize(2);
String output_1=myFormat.format(123456789.789);
System.out.println("将数字以每两个数字分组"+output_1);
myFormat.setGroupingUsed(false);
String output_2=myFormat.format(123456.789);
System.out.println("不允许数字分组"+output_2);
}
}
结果如图:
若有错误,欢迎指正批评,欢迎讨论。 每文一句:挫折,是成功人士的垫脚石。当我们感觉最累的时候,也是我们离成功最近的时候。对于人生挫折,我们应该振作起来,以阳光的心态面对一切艰难险阻,对未来充满着美好的希望,奋发向上,积极进取,谱写出精彩的人生篇章。