原文地址: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. 关于C语言中单双引号的问题
  2. bzoj1334[Baltic2008]Elect(背包dp)
  3. Spring 的 xml文件的获取
  4. 深信服上网行为管理开启snmp_编写SHELL脚本在CACTI中来实现监控深信服上网行为管理的CPU和内存使用情况...
  5. 弹出打开/保存文件对话框 选择文件夹对话框
  6. aws ubuntu php mysql_ubuntu16搭建php7+phpredis拓展+nginx+mysql脚本(aws)
  7. Akash Network主网现已部署Sushiswap应用
  8. 继承BaseAdapter自定义ListView
  9. NFC Enable 过程分析(三)
  10. CNN卷积神经网络-tensorflow
  11. Deep Speaker: an End-to-End Neural Speaker Embedding System
  12. 利用 ASP.NET 2.0 中的 Web 部件和个性化释放站点的潜能 --作者:Steven A. Smith
  13. 蓝色圆形门禁卡怎么模拟_如何把门禁卡做成你用不起的样子?B站up主自制迷你墨水屏卡片...
  14. MFC访问共享文件夹
  15. Spring -> Spring中Bean是线程安全的吗
  16. 自制简单CUP第一篇(异或门)
  17. linux下做笔记的软件下载,Write一款梦幻般的Linux手机笔记应用程序
  18. 初识 GitHub · 简介篇
  19. 非常受大学生欢迎的公众号
  20. linux下如何进行system(“pause”)同等操作

热门文章

  1. Java之jmap命令内存详情
  2. Spring初始化 - XmlWebApplicationContext
  3. 怎么做Instagram推广引流能让亚马逊销量暴涨?
  4. 计算机科学家姚明智简介,逸名网名人大全:姚期智简介,姚期智的照片资料
  5. QT常用表格导出为Excel以及Excel导入表格
  6. 如何以“API”接口的形式帮助电商商家解决货源及运营难题?(淘宝/京东/1688API接口的接入)
  7. java数组怎么定义?java数组定义方法
  8. 我越努力生活,生活就越努力的干我
  9. zzulioj 1205: 你爱我么?
  10. Borland C++ Builder函数库