62,628
社区成员
发帖
与我相关
我的任务
分享package simple.demo;
import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* Created on 2017/12/2.
*
* @author kingbaron
*/
public class FormatDemo {
public static void main(String[] args) {
numberFormatTest();
}
public static void numberFormatTest() {
NumberFormatHelper numberFormatHelper=new NumberFormatHelper();
System.out.println(numberFormatHelper.numberFormat(5244.1314,1,5));
System.out.println(numberFormatHelper.numberFormat("5244.1314",1,1));
System.out.println(numberFormatHelper.numberFormat(5244.1314));
System.out.println(numberFormatHelper.numberFormat("5244E1"));
}
static class NumberFormatHelper{
public String numberFormat(Object obj){
if(obj==null) {return "";}
return String.valueOf(new BigDecimal(obj.toString()));
}
public String numberFormat(Object obj,int integer,int precision){
if(obj==null) {return "";}
return this.decimalFormat(new BigDecimal(obj.toString()),integer,precision);
}
/**
* BigDecimal类型数字格式化字符串输出
* @param num 待格式化数字
* @param integer 整数部分精度
* @param precision 小数部分精度
* @return
*/
public String decimalFormat(BigDecimal num,int integer,int precision){
StringBuilder stringBuilder=new StringBuilder();
while(integer-->0){
stringBuilder.append('0');
}
if(precision>0){
stringBuilder.append('.');
while(precision-->0){
stringBuilder.append('0');
}
}
DecimalFormat decimalFormat=new DecimalFormat(stringBuilder.toString());
return decimalFormat.format(num);
}
}
}
package simple.demo;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.FieldPosition;
/**
* Created on 2017/12/2.
*
* @author kingbaron
*/
public class FormatDemo {
public static void main(String[] args) {
numberFormatTest();
}
public static void numberFormatTest() {
NumberFormatHelper numberFormatHelper=new NumberFormatHelper();
System.out.println(numberFormatHelper.numberFormat(5244.1314,1,5));
System.out.println(numberFormatHelper.numberFormat("5244.1314",1,1));
System.out.println(numberFormatHelper.numberFormat(5244.1314));
System.out.println(numberFormatHelper.numberFormat("5244E1"));
}
static class NumberFormatHelper{
public String numberFormat(Object obj){
if(obj==null) {return "";}
return String.valueOf(new BigDecimal(obj.toString()));
}
public String numberFormat(Object obj,int integer,int precision){
if(obj==null) {return "";}
return this.decimalFormat(new BigDecimal(obj.toString()),integer,precision);
}
/**
* BigDecimal类型数字格式化字符串输出
* @param num 待格式化数字
* @param integer 整数部分精度
* @param precision 小数部分精度
* @return
*/
public String decimalFormat(BigDecimal num,int integer,int precision){
StringBuilder stringBuilder=new StringBuilder();
while(integer-->0){
stringBuilder.append('0');
}
if(precision>0){
stringBuilder.append('.');
while(precision-->0){
stringBuilder.append('0');
}
}
DecimalFormat decimalFormat=new DecimalFormat(stringBuilder.toString());
return decimalFormat.format(num,new StringBuffer(),new FieldPosition(5)).toString();
}
}
}