当前位置: 首页 > article >正文

NumberFormat类

二、NumberFormat子类:

NumberFormat是所有数字格式的抽象基类。此类提供格式化和解析数字的接口,提供了确定哪些语言环境具有数字格式以及它们的名称是什么的方法,提供了格式化和解析任何区域设置的数字。程序代码可以完全独立于小数点,千位分隔符的区域设置约定,甚至是使用的特定十进制数字,或者数字格式是否为十进制。NumberFormat类中最重要的两个方法是format和parse,简单来说format(是将数字Number类的对象转化为用户所能看懂的字符串形式如货币¥100 )parse(是将用户所能看懂的字符串形式的数字/货币/百分比转化为数字Number类)

format(Object number, StringBuffer toAppendTo, FieldPosition pos)格式化数字并将结果文本附加到给定的字符串缓冲区。    
format(long number, StringBuffer toAppendTo, FieldPosition pos)格式化long型数字生成字符串
format(double number, StringBuffer toAppendTo, FieldPosition pos)格式化double型数字生成字符串
format(double number)
format(long number)
//number - 要格式化的数字。
//toAppendTo - StringBuffer要附加格式化文本的内容
//pos - 输入时:如果需要,可以使用对齐字段。输出时:对齐字段的偏移量。
parseObject(String source, ParsePosition pos)解析字符串中的文本以生成一个Number。
parse(String source)解析字符串中的文本以生成数字
parse(String source, ParsePosition pos)如果可能,返回Long,否则返回Double。如果设置了IntegerOnly,将停止在小数点
//source - 要解析的数字字符串,其中一部分应该被解析。
//pos - ParsePosition具有索引和错误索引信息的对象.输入时,开始解析的位置; on output,解析终止的位置,或解析失败时的起始位置。

常用的静态工厂方法:

(1)getInstance()方法,返回默认语言环境下的通用数字格式

          getInstance(Locale inlocale)方法,返回指定语言环境下的通用数字格式

(2)getNumberInstance()方法,返回默认语言环境下的通用数字格式

          getNumberInstance(Locale inlocale)方法,返回指定语言环境下的通用数字格式

(3)getIntegerInstance()方法,返回默认语言环境下的整数格式,若为小数,则四舍五入

          getIntegerInstance(Locale inlocale)方法,返回指定语言环境下的整数格式,若为小数,则四舍五入

(4)getCurrencyInstance()方法,返回默认语言环境下的货币格式

          getCurrencyInstance(Locale inlocale)方法,返回指定语言环境下的货币格式

(5)getPercentInstance()方法,返回默认语言环境下的百分比的数值格式

          getPercentInstance(Locale inlocale)方法,返回指定语言环境下的百分比的数值格式

(6)getMaxinumIntegerDigits()方法,返回数字整数部分允许的最大位数

          setMaxinumIntegerDigits(int newValue)方法,设置数字整数部分允许的最大位数

(7)getMininumIntegerDigits()方法,返回数字整数部分允许的最小位数

   setMininumIntegerDigits(int newValue)方法,设置数字整数部分允许的最小位数 

(8)getMaxinumFractionDigits()方法,返回数字小数部分允许的最大位数

   setMaxinumFractionDigits(int newValue)方法,设置数字小数部分允许的最大位数

(9)getMininumFractionDigits()方法,返回数字小数部分允许的最小位数

   setMininumFractionDigits(int newValue)方法,设置数字小数部分允许的最小位数

更多详细方法可以参照https://docs.oracle.com/javase/6/docs/api/java/text/NumberFormat.html

实例:(一般通过get...创建对象)

package codeNumberFormat;
import java.text.*;
import java.util.*;
public class ceshi {public static void main(String[] args)throws Exception {// TODO Auto-generated method stubdouble num=120.8;NumberFormat dou=NumberFormat.getIntegerInstance();System.out.println(dou.format(num));int price = 100;NumberFormat currency = NumberFormat.getCurrencyInstance(Locale.CHINA);System.out.println(currency.format(price));currency = NumberFormat.getCurrencyInstance(Locale.US);System.out.println(currency.format(price));try {String str = "$52.00";//注意这里只能用$因为前面最后一次将currency设置为了US的语言环境Number n = currency.parse(str);System.out.println(n);//若要输出double格式,则System.out.println(n.doubleValue());}catch (ParseException e) {  System.out.println(e.getMessage());  } double d = 0.72;currency = NumberFormat.getPercentInstance();System.out.println(currency.format(d));//50%}}
运行结果:
121
¥100.00
$100.00
52
72%

另外介绍一下NumbrFormat的两个子类ChoiceFormat类和DecimalFormat类

ChoiceFormat类

DecimalFormat类

 

http://www.lryc.cn/news/2419681.html

相关文章:

  • WritePrivateProfileString() 用法
  • 新发的日常小实验——使用IETester测试不同IE版本的浏览器,测试网页JS的兼容性(console未定义兼容测试)
  • cpio命令的常用方法
  • stm32串口反相输出 SP3232输出反相解决办法
  • FindWindowEx 遍历所有窗口
  • AV1编码各种浏览的版本支持
  • 网安概论(三)
  • 85m gamer主板acpi驱动_关于网卡驱动的问题
  • Python实现经典吃豆豆游戏教程:重温童年经典,学习Python游戏开发,附带完整源码
  • Android使用bit.ly的api获取url 短连接
  • 转贴--理解LPCTSTR
  • 什么是UBB
  • 机器学习----决策树分析
  • IDEA官网进不去解决方法
  • 智能终端安全:应用安全技术—移动互联网信息安全解决方案(上)
  • java cloneable 深拷贝_Java中的Cloneable接口与深拷贝、浅拷贝
  • 版本控制系统
  • POSTFIX邮件系统搭建
  • 获取北京标准时间
  • X86和X64的区别
  • tex中enumitem 宏包对itemize环境的调整
  • 内存学习(二):物理地址空间虚拟地址空间布局
  • Android ContentResolver的使用
  • Android 简单定位----Google Location Service的使用
  • Matlab中function函数的使用
  • 文件操作函数(C语言)!
  • tinyxml在linux和windows下的编译及使用详解
  • PowerManager简介
  • Flutter Ink,InkWell,InkResponse水波纹实现(2.3)
  • fiddler4使用方法以及相关抓包分析