DecimalFormat数字格式化用法详解

 更新时间:2018年03月01日 11:47:34   作者:Senssic  
这篇文章主要为大家详细介绍了DecimalFormat数字格式化用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
DecimalFormat 包含一个模式 和一组符号

符号含义:

下列字符用在非本地化的模式中。已本地化的模式使用从此 formatter 的 DecimalFormatSymbols 对象中获得的相应字符,这些字符已失去其特殊状态。两种例外是货币符号和引号,不将其本地化。

import java.text.DecimalFormat; 
  
public class TestDecimalFormat { 
public static void main(String[] args) { 
DecimalFormat df = new DecimalFormat(); 
double data = 1203.405607809; 
System.out.println("格式化之前:" + data); 
  
String pattern = "0.0";//1203.4 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
// 可以在模式后加上自己想要的任何字符,比如单位 
pattern = "00000000.000kg";//00001203.406kg 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//#表示如果存在就显示字符,如果不存在就不显示,只能用在模式的两头 
pattern = "##000.000kg";//1203.406kg 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//-表示输出为负数,必须放在最前面 
pattern = "-000.000";//-1203.406 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//,是分组分隔符 :输出结果12,03.41 
pattern = "-0,00.0#";//-12,03.41 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//E表示输出为指数,”E“之前的字符串是底数的格式,之后的是指数的格式。 
pattern = "0.00E000";//1.20E003 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//%表示乘以100并显示为百分数,要放在最后 
pattern = "0.00%";//120340.56% 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//"\u2030"表示乘以1000并显示为千分数,要放在最后 
pattern = "0.00\u2030";//203405.61‰ 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//"\u00A4"货币符号,要放在两端*****1203.41¥ 
pattern = "0.00\u00A4";//1203.41¥ 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
//'用于在前缀或或后缀中为特殊字符加引号,要创建单引号本身,请连续使用两个单引号:"# o''clock"。  
pattern = "'#'#" ;//#1203 
// pattern = "'#'" ;//#1203 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
  
pattern = "# o''clock" ;//1203 o'clock 
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
//''放在中间或后面单引号就显示在最后,放在最前面单引号就显示在最前 
// pattern = "# o''clock.000" ;//1203.406 o'clock 
// pattern = "# .000o''clock";//1203.406 o'clock 
// pattern = "# .000''";//1203.406 ' 
// pattern = "# .''000";//1203.406 ' 
pattern = "''# .000";//'1203.406  
df.applyPattern(pattern); 
System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); 
} 
} 

输出结果为: 

格式化之前:1203.405607809 
采用0.0模式格式化后:1203.4 
采用00000000.000kg模式格式化后:00001203.406kg 
采用##000.000kg模式格式化后:1203.406kg 
采用-000.000模式格式化后:-1203.406 
采用-0,00.0#模式格式化后:-12,03.41 
采用0.00E000模式格式化后:1.20E003 
采用0.00%模式格式化后:120340.56% 
采用0.00‰模式格式化后:1203405.61‰ 
采用0.00¤模式格式化后:1203.41¥ 
采用'#'#模式格式化后:#1203 
采用# o''clock模式格式化后:1203 o'clock 
采用''# .000模式格式化后:'1203.406 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot打印Banner的实现示例

    SpringBoot打印Banner的实现示例

    本文主要介绍了SpringBoot启动Banner的实现原理和打印流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Java中的位运算符全解

    Java中的位运算符全解

    这篇文章主要为大家详细介绍了Java中的位运算符,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Springmvc的运行流程图文详解

    Springmvc的运行流程图文详解

    今天小编就为大家分享一篇关于Springmvc的运行流程图文详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • SpringMVC中日期格式的转换

    SpringMVC中日期格式的转换

    本文主要介绍了SpringMVC中日期格式转换的相关知识:用来解决日期提交转换异常的问题。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • MyBatis 执行动态 SQL语句详解

    MyBatis 执行动态 SQL语句详解

    大家对mybatis执行任意sql语句都了解,那么MyBatis执行动态SQL语句呢?下面脚本之家小编给大家解答下mybatis执行动态sql语句的方法,非常不错,感兴趣的朋友参考下吧
    2016-08-08
  • 微信企业号 根据错误码返回错误信息类封装

    微信企业号 根据错误码返回错误信息类封装

    这篇文章主要介绍了微信企业号 根据错误码返回错误信息类封装的相关资料,需要的朋友可以参考下
    2016-10-10
  • 关于SpringBoot的自动装配原理详解

    关于SpringBoot的自动装配原理详解

    这篇文章主要介绍了关于SpringBoot的自动装配原理详解,Spring Boot自动装配原理是指Spring Boot在启动时自动扫描项目中的依赖关系,根据依赖关系自动配置相应的Bean,从而简化了Spring应用的配置过程,需要的朋友可以参考下
    2023-07-07
  • SpringBoot Jpa企业开发示例详细讲解

    SpringBoot Jpa企业开发示例详细讲解

    这篇文章主要介绍了SpringBoot Jpa企业开发示例,Jpa可以通过实体类生成数据库的表,同时自带很多增删改查方法,大部分sql语句不需要我们自己写,配置完成后直接调用方法即可,很方便
    2022-11-11
  • java基本教程之多线程基本概念 java多线程教程

    java基本教程之多线程基本概念 java多线程教程

    多线程是Java中不可避免的一个重要主体。下面是对“JDK中新增JUC包”之前的Java多线程内容的讲解,JUC包是由Java大师Doug Lea完成并在JDK1.5版本添加到Java中的
    2014-01-01
  • SpringBoot+Redis Bitmap实现活跃用户统计

    SpringBoot+Redis Bitmap实现活跃用户统计

    Redis的Bitmap数据结构是一种紧凑的位图,它可以用于实现各种场景,其中统计活跃用户是一种经典的业务场景,下面我们就来学习一下SpringBoot如何利用Redis中的Bitmap实现活跃用户统计吧
    2023-11-11

最新评论