科学计数问题解决

BigDecimal db = new BigDecimal(transmoeny);

System.out.println("科学计数:" + db.toString());

System.out.println("普通计数:" + db.toPlainString());

/**

  * 格式化-------金额

  * @param s

  * @return

  */

 public static String StringToDouble(String s) {

  if(s!=null&&!"".equals(s)){

   int indexOf = s.indexOf(".");

   double dd = Double.valueOf(s);

   if(indexOf < 0){

    indexOf = s.length();

   }

   DecimalFormat df = new DecimalFormat("#,###.0000"); 

   if(indexOf > 8){

    dd = dd/100000000;

    String format = df.format(dd);

    System.out.println(format+"亿元");

    return format+"亿元";

   }else{

    dd = dd/10000;

    String format = df.format(dd);

    format = format+"万元";

    int indexOf1 = format.indexOf(".");

    if(indexOf1 == 0){

     format = "0"+format;

    }

    System.out.println(format);

    return format;

    

   }

  }

  return "--";

 }

 /**

  * 格式化------人数(没有小数点的)

  * @param s

  * @return

  */

 public static String StringToDouble3(String s) {

  double dd = Double.valueOf(s);

  DecimalFormat df = new DecimalFormat("#,###"); 

  String format = df.format(dd);

  System.out.println(format);

  return format;

 }

 /**

  * 格式化-------利率(有百分号)

  * @param s

  * @return

  */

 public static String StringToDouble2(String s) {

  if(s!=null&&!"".equals(s)){

   double dd = Double.valueOf(s);

   double   f   =   dd*100;  

   BigDecimal   b   =   new   BigDecimal(f);  

   double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();

   System.out.println(f1);

   return f1+"%";

  }

  return "--";

 }

原文地址:https://www.cnblogs.com/lc93/p/7879134.html