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


    一、NumberFormat表示数字的格式化类

    NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示。
     
    No.
    方法
    类型
    描述
    1
    public static Locale[] getAvailableLocales()
    普通
    返回所有语言环境的数组
    2
    public static final NumberFormat getInstance()
    普通
    返回当前默认语言环境的数字格式
    3
    public static NumberFormat getInstance(Locale inLocale)
    普通
    返回指定语言环境的数字格式
    4
    public static final NumberFormat getCurrencyInstance()
    普通
    返回当前默认环境的货币格式
    5
    public 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

    三、DecimalFormat

    DecimalFormat也是Format的一个子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板。
     
    No.
    标记
    位置
    描述
    1
    0
    数字
    代表阿拉伯数字,每一个0表示一位阿拉伯数字,如果该位不存在则显示0
    2
    #
    数字
    代表阿拉伯数字,每一个#表示一位阿拉伯数字,如果该位不存在则不显示
    3
    .
    数字
    小数点分隔符或货币的小数分隔符
    4
    -
    数字
    代表负号
    5
    ,
    数字
    分组分隔符
    6
    E
    数字
    分隔科学计数法中的尾数和指数
    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+ "	格式化数字"+value+":	" + 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);    // 使用千分数形式
    
        }
    
    }
  • 相关阅读:
    设计模式之单例模式
    Java反射之调用内部类
    Java反射之修改常量值
    myBatis之入门示例
    eclipse创建maven工程
    java核心卷轴之集合
    java核心卷轴之泛型程序设计
    sublime常用快捷键
    sublime使用package control安装插件
    sublime使用技巧之添加到右键菜单、集成VI
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4301670.html
Copyright © 2020-2023  润新知