转载:http://blog.sina.com.cn/s/blog_93daad410101159s.html

java格式化数字DecimalFormat

在输出数字时,有时需要给数字配上单位,有时需要数字具有一定的精度,也有时需要用科学计数法表示数字。

关键技术剖析:

v java.text.DecimalFormat类专门用于格式化数字。

v 需要为DecimalFormat提供格式化模式Pattern。通过构造方法或者DecimalFormat的applyPattern方法设置模式。Pattern的类型为字符串。

v 调用DecimalFormat的format实例方法,参数为待格式化的数字,该方法使用DecimalFormat对象的pattern对参数进行格式化。

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

分析:

² 可以在java.text.DecimalForm的构造方法中制定模式(pattern),也可以使用applyPattern方法设置格式模式。

² 格式模式有特定的规则,不太的字符代表不同的意思,在使用中需要自己设计格式的模式。常用的模式有:“.”、“-”、“#”、“%”、“\u2030”、“,”、“E”、“0”。关于这些模式的具体含义在程序注释中有详细的介绍,也可以参阅JDK的帮助文档。

转载于:https://www.cnblogs.com/wrencai/p/4883724.html

java小数位-DecimalFormat(转)相关推荐

  1. java中decimalFormat格式化数值

    介绍 我们经常要对数字进行格式化,比如取小数点后两位小数,或者加个百分比符号等,Java提供了DecimalFormat这个类 0 和 # 的区别 "#"可以理解为在正常的数字显示 ...

  2. java decimal_java DecimalFormat常用方法详解

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. package com.myk.hash; import java.text.DecimalForma ...

  3. 【java】DecimalFormat与JTextArea的区别

    DecimalFormat与JTextArea的区别:代码的功能是显示出复利 代码清单如下: package p1; //Interest.java //计算复杂利息 import java.text ...

  4. Java中 DecimalFormat 用法详解

    对Java中 DecimalFormat 的所有基础用法进行了一个汇总.DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度.0 表示如果位数不足则以 0 填充,# 表示只要有 ...

  5. Java中DecimalFormat的用法!

    我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text. ...

  6. java后台DecimalFormat处理数字,3位加逗号分隔

    由于是直接调用类 所以直接贴代码: package test; import java.text.DecimalFormat; public class formatNum {     public ...

  7. JAVA中DecimalFormat如何进行四舍五入?

    在JAVA中,有时候会对数值进行四舍五入处理,我们很快能想到DecimalFormat 类. 你有可能会用以下这种方式来处理: DecimalFormat df= new DecimalFormat( ...

  8. Java中DecimalFormat中的四舍五入的用法

    在做项目的过程中遇到了一个关于金额的四舍五入的问题: 在保存一个金额的时候,前天传值到后台,然后保存到两张不同的数据库表中,但是两张表的金额差了一分钱. 前台传值:1302.625 ,     A表保 ...

  9. Java DecimalFormat 用法 小数位的处理 公司内部处理小数位

    <pre name="code" class="javascript"><pre name="code" class=&q ...

最新文章

  1. 修改 IntelliJ IDEA 默认配置路径
  2. 非插件实现回复可见效果
  3. postman使用之二:数据同步和创建测试集
  4. Spring Boot:Consider defining a bean of type ‘*.*.*‘ in your configuration解决方案
  5. 《剑指offer》面试题5———从尾到头打印链表(C++ 实现)
  6. 产品经理数据分析入门
  7. apk 反编译 java_Android apk反编译成java源码实战操作全指南
  8. 计算机图形学-样条曲线Spline
  9. 二总线 XM2BUS 通信 消防 串口 开发 CMBUS MBUS 中继 电源无极性
  10. lisp全部文本改宋体字型_如何将CAD里面的文字一下全改成宋体 CAD2014中如何将图...
  11. GIS开发必备的地理坐标系知识
  12. 简易编程入门Part1
  13. 百度云,华为云,腾讯云,阿里云测评
  14. SQL中Date 函数
  15. cuda中pinned memory(page-locked memory)
  16. 2021年10月最新使用selenium爬取裁判文书数据(本文仅供技术交流使用)
  17. picsart下载_照片美易art_照片美易art官方下载_照片美易art官方正版苹果版_好趣手游网...
  18. 暑期实习Day7---SpringMVC
  19. unix cat命令
  20. cp 复制文件或目录

热门文章

  1. python pymysql模块 链接mysql 遍历查询结果的方法 详解
  2. python读取文件时提示“UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 1264: illegal multi
  3. shell中的正则表达式
  4. elasticsearch 清理数据后硬盘不释放_电脑C盘正确的5种清理方法,你还不知道?学会后轻松释放20G空间...
  5. 大厂HR:“不会数据分析,你还想干运营?”
  6. OkHttp RouteSelector代理解析
  7. dbf如何导入oracle_克服Oracle导数一切难题
  8. centos屏幕视频录制,转换
  9. linux脚本猜数字游戏,101个shell脚本 猜数字游戏代码
  10. 关于cmd如何进出文件夹