首页 > 学院 > 开发设计 > 正文

Java从零开始学二十七(NumberFormat类)

2019-11-14 23:05:07
字体:
来源:转载
供稿:网友
java从零开始学二十七(NumberFormat类)一、NumberFormat表示数字的格式化类NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示。
No.方法类型描述
1public static Locale[] getAvailableLocales()普通返回所有语言环境的数组
2public static final NumberFormat getInstance()普通返回当前默认语言环境的数字格式
3public static NumberFormat getInstance(Locale inLocale)普通返回指定语言环境的数字格式
4public static final NumberFormat getCurrencyInstance()普通返回当前默认环境的货币格式
5public 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
三、DecimalFormatDecimalFormat也是Format的一个子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板
No.标记位置描述
10数字代表阿拉伯数字,每一个0表示一位阿拉伯数字,如果该位不存在则显示0
2#数字代表阿拉伯数字,每一个#表示一位阿拉伯数字,如果该位不存在则不显示
3.数字小数点分隔符或货币的小数分隔符
4-数字代表负号
5,数字分组分隔符
6E数字分隔科学计数法中的尾数和指数
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);    // 使用千分数形式    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表