Format Number

import java.text.DecimalFormat;

public class FormatNumber {

public static void main(String[] args) {
DecimalFormat df = new DecimalFormat();
double data = 1234.56789;
System.out.println("格式化之前的数字: " + data);

1,String style = "0.0";//定义要显示的数字的格式
df.applyPattern(style);// 将格式应用于格式化器
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));,

2,style = "00000.000 kg";//在格式后添加诸如单位等字符
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));

3,// 模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
style = "##000.000 kg";
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));

4,// 模式中的"-"表示输出为负数,要放在最前面
style = "-000.000";
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));,

5,// 模式中的","在数字中添加逗号,方便读数字
style = "-0,000.0#";
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));

6,// 模式中的"E"表示输出为指数,"E"之前的字符串是底数的格式,
// "E"之后的是字符串是指数的格式
style = "0.00E000";
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));

7,// 模式中的"%"表示乘以100并显示为百分数,要放在最后。
style = "0.00%";
df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df.format(data));

8,// 模式中的"\u2030"表示乘以1000并显示为千分数,要放在最后。
style = "0.00\u2030";
//在构造函数中设置数字格式
DecimalFormat df1 = new DecimalFormat(style);
//df.applyPattern(style);
System.out.println("采用style: " + style + "格式化之后: " + df1.format(data));
}
} 

 

 

格式化之前的数字: 1234.56789
采用style: 0.0格式化之后: 1234.6
采用style: 00000.000 kg格式化之后: 01234.568 kg
采用style: ##000.000 kg格式化之后: 1234.568 kg
采用style: -000.000格式化之后: -1234.568

 

import java.math.BigDecimal;

import java.text.DecimalFormat;

 

import org.hsqldb.lib.StringUtil;

 

/**

 * 数据工具类.<br>

 * 数值共通处理。

 */

public class NumberUtil {

 

static final String DELIMITER_HALF_COMMA = ",";

 

private NumberUtil() {

}

 

/**

* 数值加3位逗号。<BR>

* @param targetNumber

*            编辑对象字符串

* @return 逗号编辑后字符串

*/

public static String toCommaFormat(BigDecimal targetNumber) {

 

if (targetNumber == null) {

return "";

}

 

DecimalFormat decimalformat = new DecimalFormat("###,##0.#####################");

return decimalformat.format(targetNumber);

}

 

public static BigDecimal toNumberType(String targetNumber) {

return new BigDecimal(targetNumber);

}

 

public static BigDecimal toNumberTypeNull(String targetNumber) {

if (StringUtil.isEmpty(targetNumber)) {

return null;

}

 

return toNumberType(targetNumber);

}

 

public static BigDecimal toDecimalTypeNull(String targetNumber) {

return toNumberTypeNull(targetNumber);

}

 

public static BigDecimal toNumberTypeZero(String targetNumber) {

if (StringUtil.isEmpty(targetNumber)) {

return new BigDecimal("0");

}

 

return toNumberType(targetNumber);

}

 

public static BigDecimal toDecimalTypeZero(String targetNumber) {

return toNumberTypeZero(targetNumber);

}

 

/**

* 去除逗号。<BR>

* 把字符串的数据的逗号去掉。

* @param targetNumber

*            字符串

* @return 转换后的字符串

*/

public static String removeComma(String targetNumber) {

if (targetNumber == null) {

return targetNumber;

}

return targetNumber.replaceAll(DELIMITER_HALF_COMMA, "");

}

 

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值