java.text.DecimalFormat 工具类

查看原文:http://www.ibloger.net/article/50.html

DecimalFormatNumberFormat 类的子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat 更加方便,因为可以直接指定按用户自定义方式进行格式化操作,与之前讲的SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板。
这里写图片描述
因为是子类,NumberFormat的很多方法都是可以继承过来直接使用的,比如设置国际化,比如下面设置位数,等等等等

// setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。
// setMaximumIntegerDigits(int)  设置数值的整数部分允许的最大位数。
// setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。
// setMinimumIntegerDigits(int)  设置数值的整数部分允许的最小位数.

注意格式化时候,会进行四舍五入规则

package com.chinatelecom.web.trade.controller.pay;

import java.text.DecimalFormat;

public class Main {

    /** 此方法专门用于完成数字的格式化显示 **/
    public static void decimalFormat(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) {
        decimalFormat("###,###.###", 111222.34567);     // 111,222.346 
        decimalFormat("000,000.000", 11222.34567);      // 011,222.346
        decimalFormat("###,###.###¥", 111222.34567);    // 111,222.346¥
        decimalFormat("000,000.000¥", 11222.34567);     // 011,222.346¥
        decimalFormat("##.###%", 0.345678);             // 34.568%
        decimalFormat("00.###%", 0.0345678);            // 03.457%
        decimalFormat("###.###\u2030", 0.345678);       // 345.678‰
        decimalFormat("-###.##", 0.3439);               // -0.34
    }
}

补充:0.00、0.01; 0.00%、0.12%这样的数据,如果按照上面的格式可能会造成数据显示成:.00、.01; .00%、.12%,怎么办呢?只要把格式改成:

  DecimalFormat df1 = new DecimalFormat("0.00");    
  DecimalFormat df2 = new DecimalFormat("0.00%");
  df1.formatI(number);df2.formatI(number);

显示:0.00、0.01; 0.00%、0.12%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值