一、NumberFormat表示数字的格式化类

NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示。

No.
方法
类型
描述
1
public static Locale[] getAvailableLocales()
普通
返回所有语言环境的数组
2
public static final NumberFormat getInstance()
普通
返回当前默认语言环境的数字格式
3
public static NumberFormat getInstance(Locale inLocale)
普通
返回指定语言环境的数字格式
4
public static final NumberFormat getCurrencyInstance()
普通
返回当前默认环境的货币格式
5
public static NumberFormat getCurrencyInstance(Locale inLocale)
普通
返回指定语言环境的数字格式

二、使用当前语言环境格式化数字

package com.pb.demo1;

import java.text.NumberFormat;

public class NumberFormatTest {

    public static void main(String[] args) {
NumberFormat nf=NumberFormat.getInstance();
System.out.println("格式化后显示数字:"+nf.format(10000000));
System.out.println("格式化后显示数字:"+nf.format(10000.345));
} }

结果:

格式化后显示数字:10,000,000
格式化后显示数字:10,000.345

三、DecimalFormat

DecimalFormat也是Format的一个子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板。

No.
标记
位置
描述
1
0
数字
代表阿拉伯数字,每一个0表示一位阿拉伯数字,如果该位不存在则显示0
2
#
数字
代表阿拉伯数字,每一个#表示一位阿拉伯数字,如果该位不存在则不显示
3
.
数字
小数点分隔符或货币的小数分隔符
4
-
数字
代表负号
5
,
数字
分组分隔符
6
E
数字
分隔科学计数法中的尾数和指数
7
;
子模式边界
分隔正数和负数子模式
8
%
前缀或后缀
数字乘以100并显示为百分数
9
\u2030
前缀或后缀
乘以1000并显示为千分数
10
¤
\u00A4
前缀或后缀
货币记号,由货币号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。
11
,
前缀或后缀
用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#" 将 123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"。
package com.pb.demo1;

import java.text.DecimalFormat;

public class FormatDemo {

    public void format(String pattern,double value){
DecimalFormat df=new DecimalFormat(pattern);
String str=df.format(value);
System.out.println("使用" + pattern+ "\t格式化数字"+value+":\t" + str);
}
public static void main(String[] args) {
FormatDemo demo=new FormatDemo();
demo.format("###,###.###", 111222.34567);
demo.format("000,000.000", 11222.34567);
demo.format("###,###.###$", 111222.34567);
demo.format("000,000.000¥", 11222.34567);
demo.format("##.###%", 0.345678); // 使用百分数形式
demo.format("00.###%", 0.0345678); // 使用百分数形式
demo.format("###.###\u2030", 0.345678); // 使用千分数形式 } }

Java从零开始学二十七(NumberFormat类)的更多相关文章

  1. Java从零开始学二十四(集合工具类Collections)

    一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...

  2. Java从零开始学二十八(Math类和Random类)

    一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...

  3. Java从零开始学四十七(注解简述)

    一.Java中注解Annotation 什么是注解:用来描述数据的数据(元数据). Java代码里的特殊标记.它为代码中添加用Java程序无法表达的额外信息提供一种形式化的方法,使用我们可以在未来的某 ...

  4. Java从零开始学三十七(JAVA IO- 二进制文件读写)

    一.简述 二.使用步骤 DataInputStream: 引入相关的类 构造数据输入流的对象(如:FileInputStream,BufferedWriter包装后读取文件等) 读取二进制文件的数据 ...

  5. Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

    一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中 ...

  6. Java从零开始学二十六(包装类)

    一.包装类 包装类是将基本类型封装到一个类中.也就是将基本数据类型包装成一个类类型. java程序设计为每一种基本类型都提供了一个包装类.这些包装类就在java.lang包中.有8个包装类 二.包装类 ...

  7. Java从零开始学二十三(集合Map接口)

    一.Map接口 Collection.Set.List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à v ...

  8. Java从零开始学二十一(集合List接口)

    一.List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface List<E> extends Collecti ...

  9. Java从零开始学二十(集合简介)

    一.为什么需要集合框架 数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象.或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题 二.集合框架主要接口 ...

随机推荐

  1. Tasker to detect application running in background

    We used to be told that tasker is only capable of detecting foreground application, if the app gets ...

  2. Clever Little Box 电缆组件 USB A 插座 至 USB B 插头

    http://china.rs-online.com/web/p/usb-cable-assemblies/7244156/ 产品详细信息 USB3.0适配器 superspeed USB将提供10x ...

  3. MVC实现多选下拉框

    借助Chosen Plugin可以实现多选下拉框. 选择多项: 设置选项数量,比如设置最多允许2个选项: 考虑到多选下拉<select multiple="multiple" ...

  4. Unity的界面排版: RectTransform

    看Unity3D文档像看国内教课书一样,一些概念,不懂的时候看还是不懂,明白了以后再看,好像也没有说错.好几个做Unity3D的朋友跟我吐槽过U3D的文档质量,相比Apple贴心的技术文档相去甚远. ...

  5. 【maven】排除maven中jar包依赖的解决过程 例子:spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings.

    一直对于maven中解决jar包依赖问题的解决方法纠结不清: 下面这个例子可以说明一个很简单的解决方法: 项目启动报错: Connected to the target VM, address: '1 ...

  6. Selenium2+python自动化57-捕获异常(NoSuchElementException)

    前言 在定位元素的时候,经常会遇到各种异常,为什么会发生这些异常,遇到异常又该如何处理呢? 本篇通过学习selenium的exceptions模块,了解异常发生的原因. selenium+python ...

  7. Caused by: org.xml.sax.SAXParseException: The reference to entity "characterEncoding" must end with the ';' delimiter.

    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Sourc ...

  8. 解决sqoop报错:java.lang.OutOfMemoryError: Java heap space

    报错栈: -- ::, INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Executing query: = ) AND ( = ) ...

  9. flask_wtf/wtforms几个坑点,先简单记此

    1.@pluginquery.route('/app_include_plugins', methods=['GET','POST']) methods必须填写 2.plu_incl_app = St ...

  10. Java IO的简单示例

    File类示例 public class FileUsageTest { private static void usage() { System.err.println("Usage: F ...