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, "");
}
}