java 使用DecimalFormat进行数字的格式化实例详解

java 使用DecimalFormat进行数字的格式化实例详解

简单实例:

//获取DecimalFormat的方法DecimalFormat.getInstance(); 

public static void test1(DecimalFormat df) {
    //默认显示3位小数
    double d = 1.5555555;
    System.out.println(df.format(d));//1.556
    //设置小数点后最大位数为5
    df.setMaximumFractionDigits(5);
    df.setMinimumIntegerDigits(15);
    System.out.println(df.format(d));//1.55556
    df.setMaximumFractionDigits(2);
    System.out.println(df.format(d));//1.56
    //设置小数点后最小位数,不够的时候补0
    df.setMinimumFractionDigits(10);
    System.out.println(df.format(d));//1.5555555500
    //设置整数部分最小长度为3,不够的时候补0
    df.setMinimumIntegerDigits(3);
    System.out.println(df.format(d));
    //设置整数部分的最大值为2,当超过的时候会从个位数开始取相应的位数
    df.setMaximumIntegerDigits(2);
    System.out.println(df.format(d));
  } 

  public static void test2(DecimalFormat df) {
    int number = 155566;
    //默认整数部分三个一组,
    System.out.println(number);//输出格式155,566
    //设置每四个一组
    df.setGroupingSize(4);
    System.out.println(df.format(number));//输出格式为15,5566
    DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
    //设置小数点分隔符
    dfs.setDecimalSeparator(';');
    //设置分组分隔符
    dfs.setGroupingSeparator('a');
    df.setDecimalFormatSymbols(dfs);
    System.out.println(df.format(number));//15a5566
    System.out.println(df.format(11.22));//11;22
    //取消分组
    df.setGroupingUsed(false);
    System.out.println(df.format(number));
  } 

  public static void test3(DecimalFormat df) {
    double a = 1.220;
    double b = 11.22;
    double c = 0.22;
    //占位符可以使用0和#两种,当使用0的时候会严格按照样式来进行匹配,不够的时候会补0,而使用#时会将前后的0进行忽略
    //按百分比进行输出
//   df.applyPattern("00.00%");
    df.applyPattern("##.##%");
    System.out.println(df.format(a));//122%
    System.out.println(df.format(b));//1122%
    System.out.println(df.format(c));//22%
    double d = 1.22222222;
    //按固定格式进行输出
    df.applyPattern("00.000");
    System.out.println(df.format(d));//01.222
    df.applyPattern("##.###");
    System.out.println(df.format(d));//1.222
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Java BigDecimal类的使用和注意事项

    BigDecimal简介 JDK文档(中文)中的解释如下: 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂.因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale). 具体解释 1."BigDecimal 对象的值是不可变的".这点在BigDecimal 对象的运

  • Java BigDecimal类用法详解

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合.但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦. 2.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数

  • Java中BigDecimal类的简单用法

    本文实例讲述了Java中BigDecimal类的简单用法,是Java程序设计中非常实用的技巧,分享给大家供大家参考.具体用法分析如下: 一般来说,一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,

  • java中BigDecimal的操作方法

    本文实例讲述了java中BigDecimal的操作方法.分享给大家供大家参考.具体分析如下: 由于double,float的精度不够,因此在进行商业计算的时候要使用的BigDecimal.BigDecimal对象创建如下: 复制代码 代码如下: BigDecimal b = new BigDecimal("12.000001"); System.out.println(b); 输出结果为:12.000001: BigDecimal在创建的时候可以传入String和double,但是最好

  • java 使用DecimalFormat进行数字的格式化实例详解

    java 使用DecimalFormat进行数字的格式化实例详解 简单实例: //获取DecimalFormat的方法DecimalFormat.getInstance(); public static void test1(DecimalFormat df) { //默认显示3位小数 double d = 1.5555555; System.out.println(df.format(d));//1.556 //设置小数点后最大位数为5 df.setMaximumFractionDigits(

  • java 中 String format 和Math类实例详解

    java 中 String format 和Math类实例详解 java字符串格式化输出 @Test public void test() { // TODO Auto-generated method stub //可用printf(); System.out.println(String.format("I am %s", "jj")); //%s字符串 System.out.println(String.format("首字母是 %c",

  • vue3实现数字滚动特效实例详解

    目录 前言 思路 文件目录 使用示例 入口文件index.js main.js使用 requestAnimationFrame.js思路 完整代码: CountTo.vue组件思路 总结 前言 vue3不支持vue-count-to插件,无法使用vue-count-to实现数字动效,数字自动分割,vue-count-to主要针对vue2使用,vue3按照会报错: TypeError: Cannot read properties of undefined (reading '_c') 的错误信息

  • FasfDFS整合Java实现文件上传下载功能实例详解

    在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</arti

  • java 数据结构中栈和队列的实例详解

    java 数据结构中栈和队列的实例详解 栈和队列是两种重要的线性数据结构,都是在一个特定的范围的存储单元中的存储数据.与线性表相比,它们的插入和删除操作收到更多的约束和限定,又被称为限定性的线性表结构.栈是先进后出FILO,队列是先进先出FIFO,但是有的数据结构按照一定的条件排队数据的队列,这时候的队列属于特殊队列,不一定按照上面的原则. 实现栈:采用数组和链表两种方法来实现栈 链表方法: package com.cl.content01; /* * 使用链表来实现栈 */ public cl

  • Java使用AES加密和解密的实例详解

    Java使用AES加密和解密的实例详解 前言: AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128.192.256,分组长度128位,算法应易于各种硬件和软件实现.1998年NIST开始AES第一轮分析.测试和征集,共产生了15个候选算法.1999年3月完成了第二轮AES2的分析.测试.2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES. 在应用方面,尽管DES在安全上

  • java 中Excel转shape file的实例详解

    java  中Excel转shape file的实例详解 概述: 本文讲述如何结合geotools和POI实现Excel到shp的转换,再结合前文shp到geojson数据的转换,即可实现用户上传excel数据并在web端的展示功能. 截图: 原始Excel文件 运行耗时 运行结果 代码: package com.lzugis.geotools; import com.lzugis.CommonMethod; import com.vividsolutions.jts.geom.Coordina

  • JAVA 中解密RSA算法JS加密实例详解

    JAVA 中解密RSA算法JS加密实例详解 有这样一个需求,前端登录的用户名密码,密码必需加密,但不可使用MD5,因为后台要检测密码的复杂度,那么在保证安全的前提下将密码传到后台呢,答案就是使用RSA非对称加密算法解决 . java代码 需要依赖 commons-codec 包 RSACoder.Java import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher; import java.security.

  • java序列化与ObjectOutputStream和ObjectInputStream的实例详解

    java序列化与ObjectOutputStream和ObjectInputStream的实例详解 一个测试的实体类: public class Param implements Serializable { private static final long serialVersionUID = 5187074869820982336L; private Integer param1; private String param2; public Integer getParam1() { re

  • java 并发中的原子性与可视性实例详解

    java 并发中的原子性与可视性实例详解 并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么时候做(时机)分开.这样做可以明显改进应用程序的吞吐量(获得更多的CPU调度时间)和结构(程序有多个部分在协同工作).做过java Web开发的人都知道,Java Web中的Servlet程序在Servlet容器的支持下采用单实例多线程的工作模式,Servlet容器为你处理了并发问题. 原子性 原子是世界上的最小单位,具有不可分割性.比如 a=0:(a非long和double类型) 这个操作是不

随机推荐