java小数位-DecimalFormat(转)
转载: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的帮助文档。
java小数位-DecimalFormat(转)的更多相关文章
- Java中 DecimalFormat 用法详解
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: import java.text.D ...
- java, double转String, 去掉0结尾的小数位
小问题:double值的小数位是0时,转String会有“.0”结尾.比如,double值是“12”,转String得到的字符串是“12.0”.如果需要去掉0结尾的小数位,应当如何解决呢? 解决方案: ...
- JAVA中保留指定小数位方法
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; ...
- 【Java数据格式化】使用DecimalFormat 对Float和double进行格式化
格式化包括如下内容: 基本用法 金钱格式: 科学计数法: 百分比计数法: 嵌入文本: package com.sssppp.NumberFormat; import java.text.Decimal ...
- java DecimalFormat
public class Test{ public static void main(String[] args) throws Exception{ /*DecimalFormat参数,如果是0则会 ...
- Java—NumberFormat与DecimalFormat类
1.NumberFormat表示数字的格式化类 NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示. No. 方法 类型 描述 1 public static Loc ...
- Java DecimalFormat 格式化数字
我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text. ...
- 【转】Java保留固定小数位的4种方法
package com.test; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Numb ...
- Java DecimalFormat 用法
Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; publicclassTes ...
随机推荐
- RxJava2.0教程
尝试在新的项目中,引用一些流行的优秀的开源框架,在简书上偶然发现一篇很棒的写RxJava 2.0的帖子,个人认为非常适合Android开发者,你可以先知道怎么使用,然后再弄清楚里面做了哪些事情,例如可 ...
- Tomcat性能调整完整教程
Tomcat性能调整完整教程 发表于:2007-07-13来源:作者:点击数:526 标签: 一. 引言 性能测试与分析是软件 开发 过程中介于架构和调整的一个广泛并比较不容易理解的领域,更是一项较为 ...
- nginx做正向代理(Centos7,支持http和https)
默认的情况下,使用nginx做正向代理可以解析http请求, 对于诸如baidu.com这样的https请求,nginx默认并不支持,不过我们可以借助第三方模块来实现. 1.先说默认情况下的代理配置 ...
- WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点
TPV的缺点 大家都知道 IBM 的 WebSphere Application Server(WAS)在v5之后自带有TPV(Tivoli Performance Viewer) 用来监控W ...
- LeetCode: Linked List Cycle [141]
[题目] Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without usi ...
- 用Web API Client 调用 Web API
安装Web API客户端库 右键单击项目,选择管理 NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”, 搜索结果就是要安装的类库 ...
- 转:浅析VO、DTO、DO、PO的概念、区别和用处
原文链接 概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来. DTO(Data Transfer Object):数据传输对象,这个概 ...
- Lintcode---线段树构造||
线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间.start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build ...
- cisco asa5510 配置
anyconnect 查看vpn链接 ASA版本8.4(7) anyconnect版本3.1 亲测sh vpn-sessiondb anyconnect 查看登录用户详情sh vpn-ses ...
- html5-canvas绘图操作方法
<script>function draw(){ var c=document.getElementById("mycanvas"); c.width=50 ...