一、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. codecombat js

    #1 // Move to the gem. // Don't touch the walls! // Type your code below. this.moveRight(); this.mov ...

  2. Chrome DevTools Protocol Viewer

    Chrome DevTools Protocol Viewer     awesome-chrome-devtools

  3. H5页面开发笔记(react技术栈)

    1.子组件接收父组件的参数,要在子组件的componentDidMount函数中更改当前组件的state,若写在componentWillMount函数中,则会导致初始化界面UI的时候不能得到预期的效 ...

  4. MySQL数据库事务各隔离级别加锁情况--read committed && MVCC(转)

    本文转自https://m.imooc.com/article/details?article_id=17290 感谢作者 上篇记录了我对MySQL 事务 隔离级别read uncommitted的理 ...

  5. crontab运行shell失败解决办法

    1 首先检查crontab服务是否运行 可在crontab -e 中加入   */1 * * * * 123 >test.txt 可查看crontab服务是否启动,如果没有启动,请想办法启动 2 ...

  6. 安全:Web 安全学习笔记

    背景 说来惭愧,6 年的 web 编程生涯,一直没有真正系统的学习 web 安全知识(认证和授权除外),这个月看了一本<Web 安全设计之道>,书中的内容多是从微软官方文档翻译而来,这本书 ...

  7. Spring jdbcTemplat 写入BLOB数据为空

        近日做平台新闻接口,数据库用的是Oracle10g,项目使用Spring框架,新闻表内有一字段为BLOB类型,可是在写入时遇到了写入后BLOB字段为空,替换了Spring 的jar包无效,跟b ...

  8. 《JavaScript网页特效经典300例》

    <JavaScript网页特效经典300例> 基本信息 作者: 杨磊    张志美 丛书名: 百炼成钢系列丛书 出版社:电子工业出版社 ISBN:9787121220524 上架时间:20 ...

  9. 操作系统Day1地址空间与地址生成

    1.地址空间分成(1)物理地址空间 (2)逻辑地址空间二者之间的关系:*逻辑地址空间的生成:程序——>汇编-->linker——>loader*物理地址的生成:内存的逻辑地址空间会有 ...

  10. bashrc和profile的用途和区别

    使用终端登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. She ...