DecimalFormat类的使用体验

原创 2015年11月20日 16:26:30

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

符号含义: 

0 一个数字 

# 一个数字,不包括 0 

. 小数的分隔符的占位符 

, 分组分隔符的占位符 

; 分隔格式。 

- 缺省负数前缀。 

% 乘以 100 和作为百分比显示 

? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用 

国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代 

替十进制分隔符。 

X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。 



我在这次学习中主要感受了format,applyformat两种方法进行格式设置的不同。

eg:

import java.text.DecimalFormat;


public class  DecimalFormatdemo {
static public  void simpleformat(String pattern,double value ){
DecimalFormat myformat1=new DecimalFormat(pattern);
String str=myformat1.format(value);
System.out.println(value+" "+pattern+" "+str);
}
static public void useapplyformat(String pattern,double value){
DecimalFormat myformat2=new DecimalFormat();
myformat2.applyPattern(pattern);
System.out.println(value+" "+pattern+" "+myformat2.format(value));

}
public static void main(String[] args) {
// TODO 自动生成的方法存根
simpleformat("###,###.###",123456.789);
simpleformat("00000000.###g",123456.789);
simpleformat("0000.00",123.78);
useapplyformat("#.###%",0.145);
useapplyformat("###.##",123456.789);
useapplyformat("0.00\u2030",0.145);
}

结果是:

123456.789 ###,###.### 123,456.789
123456.789 00000000.###g 00123456.789g
123.78 0000.00 0123.78
0.145 #.###% 14.5%
123456.789 ###.## 123456.79
0.145 0.00‰ 145.00‰

在这次练习中虽然这两个方法都可以实现格式化数字的操作,但是有所不同,simpleformat()是在实例化DecimalFormat对象的时候设置数字格式化模版,而useapplyPattern()是在实例化DecimalFormat对象后调用applypattern()方法设置数字化模版。相比于之前String.format()对format中的参数的使用多了一份理解。



DecimalFormat类

http://book.51cto.com/art/200907/140729.htm DecimalFormat类也是Format的一个子类,主要作用是格式化数字。当然,在格式化数字时要比直接...
  • baohanqing
  • baohanqing
  • 2014年08月23日 13:23
  • 642

Java中DecimalFormat的用法!

我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子。下面是一个例子: importjav...
  • u013456370
  • u013456370
  • 2016年09月28日 11:13
  • 2459

DecimalFormat的用法和各符号的意义

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。...
  • he_xiao123
  • he_xiao123
  • 2017年11月02日 18:43
  • 121

DecimalFormat的几种用法!

DecimalFormat的几种用法! 转载▼           NumberFormat.getInstance()方法返回NumberFormat的一个实例(实际上是Num...
  • JAVA_96
  • JAVA_96
  • 2016年12月10日 09:57
  • 1278

DecimalFormat 输出指定格式的数字

DecimalFormat df = new DecimalFormat("0.00"); DecimalFormat df = new DecimalFormat("#.00"); 这里的0跟#有...
  • heweimingming
  • heweimingming
  • 2015年03月11日 13:40
  • 942

DecimalFormat 在Android 7.0下转换格式错误问题

DecimalFormat mDecimalFormat=new DecimalFormat("#.000000"); String dec=mDecimalFormat.format(2.3333...
  • anqingcheng
  • anqingcheng
  • 2017年05月24日 14:29
  • 186

DecimalFormat类的使用

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。...
  • qq_33275597
  • qq_33275597
  • 2016年07月27日 16:01
  • 112

DecimalFormat类——Java中字符串类型的数字加减报错和精度缺失的解决办法

编码中加减乘除经常遇到,稍有不适,友谊的小船说翻就翻。         Demo来一发,做做记录: //保留两位小数 private DecimalFormat decimalForm...
  • haovip123
  • haovip123
  • 2016年04月15日 17:35
  • 1729

关于DecimalFormat用法详解

关于 DecimalFormat用法详解 Java 1.6 API中这样定义: DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其...
  • IT_DREAM_ER
  • IT_DREAM_ER
  • 2016年01月08日 10:40
  • 1096

Android 遇到DecimalFormat 遇到的格式化问题

在系统语言环境为俄语的情况下: double amount  = 125.55d DecimalFormat df = new DecimalFormat("0.00"); String...
  • loveanao
  • loveanao
  • 2016年10月27日 11:54
  • 1218
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DecimalFormat类的使用体验
举报原因:
原因补充:

(最多只允许输入30个字)