前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java学习之路:22.数字格式化

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

作者头像
花狗Fdog
发布2020-10-28 11:31:15
8230
发布2020-10-28 11:31:15
举报
文章被收录于专栏:花狗在Qt

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.数字格式化的使用

代码语言:javascript
复制
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类中除了可以设置格式化模式来格式化数字之外,还可以使用一些特殊方法对数字进行格式化设置,例如:

代码语言:javascript
复制
DecimalFormat myformat=new DecimalFormat(); //实例化DecimalFormat类对象
myFormat.setGrou[ingSize(2); //设置将数字分组的大小
myFOrmat setGroupingUsed(false);  //设置是否支持分组

下面来看实例:

代码语言:javascript
复制
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);
 }
}

结果如图:

在这里插入图片描述
在这里插入图片描述

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/02/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.介绍
  • 2.DecimalFormat类中特殊字符说明
  • 3.数字格式化的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档