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 

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

相关文章

  • IDEA反编译出整个jar包源码

    IDEA反编译出整个jar包源码

    InteliJ IDEA默认带反编译插件,那么如何把反编译的jar包整体导出java源码来?本文就来介绍一下,感兴趣的可以了解下
    2021-05-05
  • Java中==运算符与equals方法的区别及intern方法详解

    Java中==运算符与equals方法的区别及intern方法详解

    这篇文章主要介绍了Java中==运算符与equals方法的区别及intern方法详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java中接收键盘输入的三种方法

    Java中接收键盘输入的三种方法

    这篇文章主要介绍了Java中接收键盘输入的三种方法,本文给出3个方法实现通过读取控制台的输入与用户实现交互,需要的朋友可以参考下
    2015-06-06
  • java 数值类型分秒时间格式化的实例代码

    java 数值类型分秒时间格式化的实例代码

    这篇文章主要介绍了java 数值类型分秒时间格式化的实例代码的相关资料,将秒或分钟的值转换为xx天xx小时xx分钟xx秒 如果 “xx” 为0 自动缺省,需要的朋友可以参考下
    2017-07-07
  • 使用java执行定时任务示例

    使用java执行定时任务示例

    这篇文章主要介绍了使用java执行定时任务示例,需要的朋友可以参考下
    2014-04-04
  • 带你一文深入认识Java String类

    带你一文深入认识Java String类

    这篇文章主要介绍了带你一文深入认识Java String类,String 类在Java中是很常用的类,很重要的类,在后续的学习中经常会用到,是后续学习的基础, 文章围绕主题展开更多详细内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-06-06
  • Java并发包工具类CountDownLatch的应用详解

    Java并发包工具类CountDownLatch的应用详解

    CountDownLatch是Java并发包中非常实用的一个工具类,它可以帮助我们实现线程之间的同步和协作。本文主要介绍了CountDownLatch的应用场景及最佳实践,希望对大家有所帮助
    2023-04-04
  • Java中序列化与反序列化的特性解读

    Java中序列化与反序列化的特性解读

    这篇文章主要介绍了Java中序列化与反序列化的特性解读,当我们需要将内存中的对象持久化到磁盘,数据库中时, 当我们需要与浏览器进行交互时,当我们需要实现 RPC 时, 这个时候就需要序列化和反序列化了,需要的朋友可以参考下
    2023-08-08
  • Java tomcat手动配置servlet详解

    Java tomcat手动配置servlet详解

    这篇文章主要为大家介绍了tomcat手动配置servlet,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • AgileBoot 项目内统一的错误码设计分析

    AgileBoot 项目内统一的错误码设计分析

    这篇文章主要为大家介绍了AgileBoot 项目内统一的错误码设计分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论