一、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. hdoj 1753 大明A+B 高精度/java

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  2. Codeforces Round #294 (Div. 2)B - A and B and Compilation Errors 水题

    B. A and B and Compilation Errors time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. 通过adb把apk安装到系统分区

    通过adb把apk安装到系统分区 以谷歌拼音为例:GooglePinyin1.4.2.apk提取出so文件libjni_googlepinyinime_4.solibjni_googlepinyini ...

  4. PHP中的 变量 与 常量 详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  5. 使用DataGridView进行增删改查,并同步到数据库

    DataGridView控件具有极高的可配置性和可扩展性.它提供有大量的属性.方法和事件,能够用来对该控件的外观和行为进行自己定义.以下通过一个小样例来展示DataGridView进行增删改查,并同步 ...

  6. PJ Naughter CSerialPort

    来自:http://www.codeproject.com/Articles/382/CSerialPort-v-Serial-Port-Wrapper 源码下载 Features Simple an ...

  7. 转 如何在IOS设备中去掉屏幕上的status bar

    引入如何在IOS设备中去掉屏幕上的status bar,即:不显示设备上方的[网络.时间.电池??]条?操作方法一:在-info.list项目文件中,加上“Status bar is initiall ...

  8. 如何让access空值变成0?(确切的说是让access Null值变成0)

    方法一 if  IsNull(Me.新_退休费) = True Then Me.新_退休费 = 0 方法二 if Nz(Me.原_退休费) = Me.原_退休费 Then Me.原_退休费 = 0 有 ...

  9. pytest文档15-使用自定义标记mark

    前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时, 也可以使用标记功能,标明哪些是 ...

  10. Android之MVC——Model通知View去更新(实用)

    下面两段标红加深的代码是重点: import android.app.Activity; import android.os.Bundle; import android.view.View; imp ...