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) ; } }
关于数据格式化代码整理
最新推荐文章于 2024-07-21 21:22:52 发布