原文地址:http://blog.sina.com.cn/s/blog_81851a660100smh0.html

Java中API类NumberFormat提供了货币格式化,百分比格式化和数值格式化。需要语句import java.text.NumberFormat;

一、货币格式化

currency 名,货币,流通。Instance名。例子,情况。Locale名,地方。Format名,动。格式。

1、getCurrencyInstance()。静态方法,建立一个NumberFormat类的对象并返回引用,该引用指定货币格式为系统预设的货币格式。举例如下:

import java.text.NumberFormat;
public class NumberFormat001 {public static void main(String[] args){NumberFormat nf=NumberFormat.getCurrencyInstance();System.out.println(nf.format(123.658));}//main end}

运行结果:¥123.56

2、getCurrencyInstance(Locale) 。静态方法,建立一个NumberFormat类的对象,并返回引用,该引用的货币格式由Locale指定。Locale类在java.util包中。举例如下:

import java.text.NumberFormat;import java.util.Locale;import java.util.Locale;public class NumberFormat002 {public static void main(String[] args){//Locale locale=Locale.US;NumberFormat  nf=NumberFormat.getCurrencyInstance(Locale.US);System.out.println(nf.format(1236.258));}//main end}//class end

运行结果:$1,236.26

3、format(anyNumberType)。返回由NumberFormat的静态方法所指定的输出格式,这个格式由字符串来表达。参数可以是数值类或者BigDecimal对象。不再举例。

二、百分比格式化

Percent名,百分数。Fraction名,片断,分数。Digit名,阿拉伯数字。Minimum最小的。Maximum最大的。

方法:

1、getPercentInstance()。静态方法,创建一个NumberFormat类的对象并返回其引用。该对象指定百分比格式为系统预设格式。

2、getPercentInstance(Locale)。静态方法,创建一个NumberFormat类的对象并返回引用。该对象的百分比格式由Locale来指定。

3、format(anyNumberType)。返回由NumberFormat的静态方法所指定的输出格式,这个格式由字符串来表达。参数可以是数值类型或者;BigDecimal对象。

举例如下:

import java.text.NumberFormat;import java.util.Locale;public class NumberFormat003 {public static void main(String[] args){double d=123.6958;NumberFormat nf=NumberFormat.getPercentInstance();System.out.println(nf.format(d));NumberFormat nf1=NumberFormat.getPercentInstance(Locale.CANADA);System.out.println(nf1.format(d));}//main end}//class end

运行结果:

12,370%

12,370%

4、setMinimumFractionDigits(int)设置最少小数点位数

5、setMaximumFractionDigits(int)设置最多小数位数。

举例如下:

import java.text.NumberFormat;import java.util.Locale;public class NumberFormat003 {public static void main(String[] args){double d=123.6958;NumberFormat nf=NumberFormat.getPercentInstance();nf.setMinimumFractionDigits(4);//不足4位小数,则以0补位。System.out.println(nf.format(d));nf.setMaximumFractionDigits(1);//最多保留1位小数。System.out.println(nf.format(d));NumberFormat nf1=NumberFormat.getPercentInstance(Locale.CANADA);System.out.println(nf1.format(d));nf1.setMaximumFractionDigits(1);//最多保留1位小数,如无小数不补0。System.out.println(nf1.format(d));System.out.println(nf1.format(258));}//main end}//class end

运行结果:

12,369.5800%

12,369.6%

12,370%

12,369.6%

25,800%

三、数值格式化

方法:getNumberInstance();getNumberInstance(Locale);format(anyNumberType);setMinimumFractionDigits(int);setMaximumFractionDigits(int)。方法解释与百分比格式化类似,不再详述。举例如下:

import java.text.NumberFormat;import java.util.Locale;public class NumberFormat004 {public static void main(String[] args){double d=123456.3698;NumberFormat nf=NumberFormat.getNumberInstance();System.out.println(nf.format(d));nf.setMinimumFractionDigits(4);System.out.println(nf.format(d));NumberFormat nf01=NumberFormat.getNumberInstance(Locale.US);System.out.println(nf01.format(d));nf01.setMaximumFractionDigits(1);System.out.println(nf01.format(d));}//main end}//class end

运行结果:

123,456.3698

123,456.37

123,456.4

四、用NumberFormat类的子类DecimalFormat来完成。

import  java.text.DecimalFormat;

DecimalFormat提供了许多用来规定数字格式的模式字符串,进行对数字的格式化处理。本文只讨论常用的几种。

1、“0”——表示一位数值;如没有,显示0。如“0000.0000”,整数位>4,按实际输出,<4前面补0,凑足4位,多余小数四舍五入。

2、“#”——表示任何位数的整数。如没有,则不显示。在小数点模式后使用,只表示一位小数;四舍五入。如:

# 无小数,小数部分四舍五入。

.# 整数部分不变,一位小数,四舍五入。

.## 整数部分不变,二位小数,四舍五入。

3、“.”——表示小数点模式。

4、“,”与模式“0”一起使用,表示逗号。举例如下:

import java.text.DecimalFormat;import java.text.NumberFormat;public class DecimalFormat001 {public static void main(String[] args){double d1=123456.36987,d2=12.3698;DecimalFormat nf=new DecimalFormat("0000.000");System.out.println("d1="+nf.format(d1)+"  d2="+nf.format(d2));//12345.370 0012.370nf=new DecimalFormat("#");System.out.println("d1="+nf.format(d1));//123456nf=new DecimalFormat(".#");System.out.println("d1="+nf.format(d1)); //123456.4nf=new DecimalFormat(".###");System.out.println("d1="+nf.format(d1)); //123456.370nf=new DecimalFormat("0000,0000.0000");System.out.println("d1="+nf.format(d1));//123,456.3699}//main end}//class

java.text.NumberFormat简单使用相关推荐

  1. java.text.NumberFormat使用方法

    NumberFormat 是全部数值格式的抽象基类. 该类提供了格式化和分析数值的接口. NumberFormat 也提供了确定 哪个语言环境具有数值格式以及它们名字的方法. package com. ...

  2. java搜索引擎lucene_简单lucene搜索实现(搜索引擎)

    首先下载lucene相关jar包,这里就不多说,自己网上找 在eclipse下建立web工程luceneTest 将jar包加载到你的web工程里面 新建类Index.java,代码如下: impor ...

  3. Java的NumberFormat介绍

    --------------------------------------------------------------- java.text.NumberFormat类有三个方法可以产生下列数据 ...

  4. java中NumberFormat 、DecimalFormat的介绍及使用,java数字格式化,BigDecimal数字格式化

    文章目录 前言 一.NumberFormat 1.概述 2.实例化方法 3.货币格式化 4.百分比格式化 5.NumberFormat的坑 5.1.不同的格式化对象处理相同数值返回结果不同 问题 源码 ...

  5. java.text._Java.text

    1. 描述 提供以与自然语言无关的方式来处理文本.日期.数字和消息的类和接口.这意味着所编写的主程序或 applet 是与语言无关的,并且它可以依靠独立的.动态链接的本地化资源.这实现了随时为新本地化 ...

  6. Java 多态的简单介绍.

    作为面向对象三大知识点之一,  多态可以讲是相对最难理解那个. 本人在这里也是简单分析一下. 一, 多态的定义. 面向对象编程中, 1个超类的引用可以指向属于超类的对象, 也可以根据需要指向超类的派生 ...

  7. 使用Java实现的简单的计算器

    package calculate; /*** @author Wayne;* @time 2014年7月14日;* @project java计算器2.0;*/import java.awt.*; ...

  8. 用java写一个日历_使用JAVA写一个简单的日历

    JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...

  9. Java笔记-Semaphore简单应用实例

    这个Semaphore和QSemaphore使用和原理一模一样. 这里简单写了个例子,开了10个线程去拿邻界资源,资源只有一个,拿到后要进行5s的业务错了,使用Semaphore,如果此资源被占用,那 ...

最新文章

  1. Javascript - 栈 和 单链表
  2. 情商(实践版本,丹尼尔.戈尔曼)---阅读记录
  3. Git 分支 - 分支简介
  4. 计算机组成原理课程设计报告 给出指令执行流程 add(二进制加法),《计算机组成原理》课程设计报告材料...
  5. CORS——跨域请求那些事儿
  6. Ubuntu16.04安装JDK1.8
  7. mysql的join语句使用_MySQL开发技巧——如何正确使用Join语句
  8. thinkphp 二级域名绑定模块,导致设置的路由被多域名共用的问题解决方案
  9. linux 查看真实路径-软连接
  10. 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
  11. IScroll5 参数说明和调用方法
  12. c语言飞机大战游戏素材,jQuery飞机大战游戏
  13. php压缩解压zip文件夹,php利用ZipArchive类实现文件压缩与解压
  14. Java集合中的retainAll()方法和removeAll()方法
  15. 21种网页在线客服代码实例演示
  16. 程序员高效率办公软件(推荐)。
  17. clusters(clusters)
  18. 高级Android开发进阶之路,你需要掌握的几个关键技术!
  19. c语言程序设计臧,臧学莲
  20. 周杰伦《说好不哭呢》QQ音乐评论的可视化分析

热门文章

  1. 加泰罗尼亚理工大学 计算机 排名,2020年西班牙巴塞罗那加泰罗尼亚理工大学有哪些优势专业...
  2. 更改eclipse默认在C盘下生成的.p2和.m2
  3. 精雕细琢——全方位解析单例模式
  4. 赛马网基本算法之--公交车乘客
  5. Java类变量的初始化
  6. 网络工程(计算机网络)毕业论文+PPT【中学实验楼综合布线和无线网络规划】
  7. Cocos2d-x 3.2 大富翁游戏项目开发-第二十三部分 购买彩票
  8. 【目标检测】36、OTA: Optimal Transport Assignment for Object Detection
  9. 普适各类IoT场景,润和HH-SLNPT100开发板通过OpenHarmony兼容性
  10. 关于路径规划问题的详细总结(千字长文)