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

此类的定义如下:

public abstract class NumberFormat extends Format

MessageFormat 、DateFormat 、NumberFormat 是 Format 三个常用的子类,如果要想进一步完成一个好的国际化程序,则肯定需要同时使用这样三个类完成,根据不同的国家显示贷币的形式。

此类还是在java.text 包中,所以直接导入此包即可。

源码测试import java.text.NumberFormat;

public class Main {

public static void main(String[] args) {

Double myNumber = 23323.3323232323;

Double test = 0.3434;

// getInstance()

// 返回当前缺省语言环境的缺省数值格式。

String myString = NumberFormat.getInstance().format(myNumber);

System.out.println(myString);   // 23,323.332

// getCurrencyInstance()返回当前缺省语言环境的货币格式

myString = NumberFormat.getCurrencyInstance().format(myNumber);

System.out.println(myString);   // ¥23,323.33

// getNumberInstance() 返回当前缺省语言环境的通用数值格式。

myString = NumberFormat.getNumberInstance().format(myNumber);

System.out.println(myString);   // 23,323.332

// getPercentInstance() 返回当前缺省语言环境的百分比格式。

myString = NumberFormat.getPercentInstance().format(test);

System.out.println(myString);   // 34%

// setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。

// setMaximumIntegerDigits(int)  设置数值的整数部分允许的最大位数。

// setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。

// setMinimumIntegerDigits(int)  设置数值的整数部分允许的最小位数.

NumberFormat format = NumberFormat.getInstance();

format.setMaximumFractionDigits(5);     // 小数部分允许的最大位数

format.setMinimumFractionDigits(3);     // 小数部分允许的最小位数

format.setMaximumIntegerDigits(10);     // 整数部分允许的最大位数

format.setMinimumIntegerDigits(3);      // 整数部分允许的最小位数

System.out.println(format.format(2132323213.23866666666));      // 2,132,323,213.23867

System.out.println(format.format(2132323213.23));               // 2,132,323,213.230

System.out.println(format.format(13123122132323213.23));        // 2,132,323,214.000

System.out.println(format.format(13.23));                       // 013.230

}

}

查询源码即可一目了然如何设置国际化,部分源码如下/**

* Returns a currency format for the current default locale.

*/

public final static NumberFormat getCurrencyInstance() {

return getInstance(Locale.getDefault(Locale.Category.FORMAT), CURRENCYSTYLE);

}

/**

* Returns a currency format for the specified locale.

*/

public static NumberFormat getCurrencyInstance(Locale inLocale) {

return getInstance(inLocale, CURRENCYSTYLE);

}

/**

* Returns a percentage format for the current default locale.

*/

public final static NumberFormat getPercentInstance() {

return getInstance(Locale.getDefault(Locale.Category.FORMAT), PERCENTSTYLE);

}

/**

* Returns a percentage format for the specified locale.

*/

public static NumberFormat getPercentInstance(Locale inLocale) {

return getInstance(inLocale, PERCENTSTYLE);

}

/**

* Returns a scientific format for the current default locale.

*/

/*public*/ final static NumberFormat getScientificInstance() {

return getInstance(Locale.getDefault(Locale.Category.FORMAT), SCIENTIFICSTYLE);

}

/**

* Returns a scientific format for the specified locale.

*/

/*public*/ static NumberFormat getScientificInstance(Locale inLocale) {

return getInstance(inLocale, SCIENTIFICSTYLE);

}

所以,这里可以指定任何一个国家的显示方式,比如美国,德国,中国,写法例如NumberFormat numberFormat = NumberFormat.getCurrencyInstance(Locale.CHINA);

numberFormat.setMinimumFractionDigits(0);

numberFormat.format(price);

除了NumberFormat,还有用的很多的Decimalformat ,Decimalformat是NunberFormat的子类

numberformat java_【Java】java.text.NumberFormat 工具类相关推荐

  1. JAVA I/O流工具类TextFile

    JAVA I/O流工具类TextFile由广州疯狂软件java培训分享: 本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强.这个TextFile ...

  2. java Excel导入导出工具类 及使用demo

    java Excel导入导出工具类 及使用demo 前言:相信进来的都是想尽快解决问题的,话不多说,按照以下步骤来,可以操作导出excel到本地,导入同理,自行学习.步骤一:直接复制以下excel工具 ...

  3. java中常用的工具类

    1. 常用零散工具类 1.1[DateUtil.java]日期处理的工具类 /*** 时间日期处理工具* String -> Date* Date -> String* 以及生成含有日期的 ...

  4. java项目常用的工具类

    前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...

  5. 【Java 代码实例 13】Java操作pdf的工具类itext

    目录 一.什么是iText? 二.引入jar 1.项目要使用iText,必须引入jar包 2.输出中文,还要引入下面```itext-asian.jar```包 3.设置pdf文件密码,还要引入下面` ...

  6. 「Java工具类」pdf导出工具类java导出pdf文件工具类

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

  7. java联调生成测试数据工具类

    java联调生成测试数据工具类 一.背景 二.代码 一.背景 在日常的联调中,我们经常需要准备一定数量的测试数据,用来配合前端测试.当然对于简单的数据类型完全可以通过 JDK 自带的 Random 类 ...

  8. java图片缩放工具类,一个JAVA图形缩放处置工具类

    一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...

  9. java redis remove_最全的Java操作Redis的工具类

    RedisUtil 当前版本:1.1 增加更全的方法,对以前的部分方法进行了规范命名,请放心替换成新版本. 介绍 最全的Java操作Redis的工具类,使用StringRedisTemplate实现, ...

  10. java图形验证码生成工具类

    转载自   java图形验证码生成工具类 生成验证码效果       ValidateCode.java 验证码生成类 package cn.dsna.util.images; import java ...

最新文章

  1. dft计算傅里叶级数系数_一道国外的DFT性质的题目
  2. c语言long的格式字符串,时间字符串和long类型之间的转换
  3. HTML+CSS+JS实现 ❤️发光的线条爱心形状动画特效❤️
  4. python识图找图_利用python进行识别相似图片(二)
  5. python编写函数showmsg(n、name)_Python语言答案
  6. C++安全方向(三)3.4 使用哈希列表验证文件的完整性
  7. 酒泉于洋计算机学校,于洋
  8. javascript面试题(一)
  9. 数据结构07之哈希表
  10. 模拟电子技术基础:基本放大电路
  11. 各种神经网络的应用领域,神经网络还有哪些应用
  12. java小写金额转大写金额_java转换小写金额为大写金额
  13. MIMO系统信道容量分析
  14. Compose Modifier
  15. 三、外码、关系的完整性约束、关系代数
  16. 深度学习基础之优化器(optimizer)的介绍
  17. 大二女生web开发成长之路——讲述我从软妹子到女汉子的进阶过程
  18. uniapp下载视频文件到手机相册
  19. 弟弟的作业(湖南省第六届程序设计大赛)
  20. Android 获取CellId以及IMEI 获取基站id

热门文章

  1. Junit + Mockito 使用资料整理
  2. 通信原理几种调制方式
  3. linux学习笔记-切换目录
  4. PIFA和MONOPOLE天线的原理和区别
  5. 3D变换矩阵的分解公式
  6. 聊一聊分布式对象存储解决方案
  7. 【原型设计】第一节:Axure RP9 下载安装、汉化和激活使用的方法教程
  8. 为 Windows 系统替换优雅的苹果字体
  9. 数据结构:顺序栈的基本操作及实现
  10. [IT新应用]无线投影技术