Java DecimalFormat玩转计算,保留小数点,格式化字符串

目录

介绍

符号含义:

例子:

用法:

小结 


介绍

在实际开发中,需要把数字显示固定一种格式,比如浮点型0.22或者千分位22,222,222,这时就可以用到java的DecimalFormat类去格式化。DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。DecimalFormat 包含一个模式 和 一组符号

 

符号含义:

  • 0 一个数字
  • # 一个数字,不包括 0
  • . 小数的分隔符的占位符
  • , 分组分隔符的占位符
  • ; 分隔格式。
  • - 缺省负数前缀。
  • % 乘以 100 和作为百分比显示
  • ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符。
  • X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。
  

例子:

    DecimalFormat df1 = new DecimalFormat("0.0");
  DecimalFormat df2 = new DecimalFormat("#.#");
  DecimalFormat df3 = new DecimalFormat("000.000");
  DecimalFormat df4 = new DecimalFormat("###.###");
  System.out.println(df1.format(12.34));//结果: 12.3
  System.out.println(df2.format(12.34));//结果: 12.3
  System.out.println(df3.format(12.34));//结果: 012.340
  System.out.println(df4.format(12.34));//结果:  12.34

用法:

import java.text.DecimalFormat;  
    
public class TestNumberFormat{  
    
  public static void main(String[] args){  
    double pi=3.1415927; //圆周率  
    //取一位整数  
    System.out.println(new DecimalFormat("0").format(pi));   //3  
    //取一位整数和两位小数  
    System.out.println(new DecimalFormat("0.00").format(pi)); //3.14  
    //取两位整数和三位小数,整数不足部分以0填补。  
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142  
    //取所有整数部分  
    System.out.println(new DecimalFormat("#").format(pi));   //3  
    //以百分比方式计数,并取两位小数  
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16%  
    
    long c=299792458;  //光速  
    //显示为科学计数法,并取五位小数  
    System.out.println(new DecimalFormat("#.#####E0").format(c)); //2.99792E8  
    //显示为两位整数的科学计数法,并取四位小数  
    System.out.println(new DecimalFormat("00.####E0").format(c)); //29.9792E7  
    //每三位以逗号进行分隔。  
    System.out.println(new DecimalFormat(",###").format(c));   //299,792,458  
    //将格式嵌入文本  
    System.out.println(new DecimalFormat("每秒###\米。").format(c));  
  }  
}  

小结 

DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,请参考 DecimalFormat 类的文档。

 

 

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾阳Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值