科学计数问题解决
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 "--";
}