您的位置:首页 > 编程语言

关于数据格式化代码整理

2016-03-01 15:59 309 查看
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
* Created by R.W on 2016/3/1.
*/
public class SD extends FD {

double f = 111231.5585;

public void m1() {//111231.56
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}

/**
* DecimalFormat转换最简便
*/
public void m2() {//111231.56
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}

/**
* String.format打印最简便
*/
public void m3() {//111231.56
System.out.println(String.format("%.2f", f));
}

public void m4() {//111,231.56
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
}

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;

/**
* Created by R.W on 2016/3/1.
*/
public class Main {

static String snumber = "111,231.56";
public static void main(String[] args) {
SD f = new SD();
f.m1();
f.m2();
f.m3();
f.m4();

m6(snumber);

test();

format("###,###.###",233789555774663.8489);
}

public static void m6(String snumber) {//111,231.56
NumberFormat nf = NumberFormat.getNumberInstance();
//方式一
// double dd = 0;
// try {
// dd = (double) nf.parseObject(snumber);
//
// float ff = (float) dd;
//
// System.out.println(dd+"----------"+ff);
// } catch (ParseException e) {
// e.printStackTrace();
// }

//方式二
Number number;
try {
number = (Number) nf.parseObject(snumber);

//在进行转换成相应的数据类型
float ff = number.floatValue();
System.out.println(number+"----------"+ff);
} catch (ParseException e) {
e.printStackTrace();
}
}

public static void test(){
// TODO Auto-generated method stub
Double myNumber=23323.3323232323;
Double test=0.3434;
//返回当前缺省语言环境的缺省数值格式。
String myString = NumberFormat.getInstance().format(myNumber);
System.out.println(myString);//23,323.332
//getCurrencyInstance()返回当前缺省语言环境的通用格式
myString = NumberFormat.getCurrencyInstance().format(myNumber);
System.out.println(myString);//¥23,323.33
//getNumberInstance() 返回当前缺省语言环境的通用数值格式。
myString = NumberFormat.getNumberInstance().format(myNumber);
System.out.println(myString);//23,323.332

//getPercentInstance() 返回当前缺省语言环境的百分比格式。
myString = NumberFormat.getPercentInstance().format(test);
System.out.println(myString);//34%

//setMaximumFractionDigits(int) 设置数值的小数部分允许的最大位数。
//setMaximumIntegerDigits(int) 设置数值的整数部分允许的最大位数。
//setMinimumFractionDigits(int) 设置数值的小数部分允许的最小位数。
//setMinimumIntegerDigits(int) 设置数值的整数部分允许的最小位数.
NumberFormat format = NumberFormat.getInstance();
format.setMinimumFractionDigits( 3 );
format.setMaximumFractionDigits(5);
format.setMaximumIntegerDigits( 10 );
format.setMinimumIntegerDigits(0);

System.out.println(format.format(2132323213.23266666666));//2,132,323,213.23267
}

public static void format(String pattern,double value){
// 此方法专门用于完成数字的格式化显示
DecimalFormat df = null ; // 声明一个DecimalFormat类的对象
df = new DecimalFormat(pattern) ; // 实例化对象,传入模板

// df.setMinimumFractionDigits( 3 );
// df.setMaximumFractionDigits(5);
// df.setMaximumIntegerDigits( 10 );
// df.setMinimumIntegerDigits(0);

String str = df.format(value) ; // 格式化数字
System.out.println("使用" + pattern
+ "格式化数字" + value + ":" + str) ;

// demo.format1("###,###.###",111222.34567) ;
// demo.format1("000,000.000",11222.34567) ;
// demo.format1("###,###.###¥",111222.34567) ;
// demo.format1("000,000.000¥",11222.34567) ;
// demo.format1("##.###%",0.345678) ;
// demo.format1("00.###%",0.0345678) ;
// demo.format1("###.###\u2030",0.345678) ;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: