java学习之路:22.数字格式化

在这里插入图片描述

写在前面:
大家好,我是 花狗Fdog ,来自内蒙古的一个小城市,目前在泰州读书。
很感谢能有这样一个平台让我能够在这里分享所学所感。
我喜欢编程,喜欢代码,喜欢去做一个程序员。
努力学习,争取多年后,给亲人更好的生活。
QQ/WX:2506897252 欢迎交流。



1.介绍

在Java中没有格式化的数据遵循以下原则:
如果数据绝对值大于0.001或者小于1000000,Java将以常规小数形式表示。
如果数据绝对值小于0.001或者大于1000000,使用科学记数法表示。

如果上面的形式无法满足实际要求,Java提供了DecimalFormat类进行格式化操作。
DecimalFormat是NumberFormat的一个子类,可以格式化十进制数字,或者也可以通过DecimalFormat类中的applyPattern()方法来实现数字格式化。在格式化化数字时,将使用一些特殊字符,如下表:


2.DecimalFormat类中特殊字符说明

字符 说明
0 代表阿拉伯数字,使用特殊字符“0”表示数字的一位阿拉伯数字,如果该位不存在数字,则显示0
# 代表阿拉伯数字,使用特殊字符“#”代表数字的一位阿拉伯数字,如果该位存在数字,则显示字符,如果该位不存在数字,则不显示
. 小数分隔符或者货币小数分隔符
- 负号
分组分隔符
E 分隔科学记数法中的尾数和指数
% 本符号放置在数字的前缀或后缀,将数字乘以100显示为百分数
\u2030 本符号放置在数字的前缀或后缀,将数字乘以1000显示为千分数
\00A4 本符号放置在数字的前缀或后缀,作为货币记号
本符号为单引号,当上述特殊字符出现在数字中时,应为特殊符号添加单引号,系统会将此符号是为普通符号处理

3.数字格式化的使用

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);
 }
}

结果如图:
在这里插入图片描述


若有错误,欢迎指正批评,欢迎讨论。
每文一句:挫折,是成功人士的垫脚石。当我们感觉最累的时候,也是我们离成功最近的时候。对于人生挫折,我们应该振作起来,以阳光的心态面对一切艰难险阻,对未来充满着美好的希望,奋发向上,积极进取,谱写出精彩的人生篇章。

发布了60 篇原创文章 · 获赞 107 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Fdog_/article/details/104216550
今日推荐