字符串“50000” 和“8”,怎么在倒数第二位插入.符号,使他变成“500.00”  和“0.08”,各位大侠给支一招。

解决方案 »

  1.   

    1楼的哪里需要转换哦!
    就用String类里面的replace()方法就行了。
      

  2.   

    如一楼说的。
    除100后 tostring().append(".00")
      

  3.   

    来个傻方法替换哈,不过不建议这样做哦。public class Test {    
        public static void main(String[] args) {        
            System.out.println(shiftLeft("12345"));
            System.out.println(shiftLeft("1234"));
            System.out.println(shiftLeft("123"));
            System.out.println(shiftLeft("12"));
            System.out.println(shiftLeft("1"));
        }
        
        private static String shiftLeft(String str) {
            return str.replaceAll("(^\\d+?)(\\d\\d$)", "$1.$2")
                      .replaceAll("(^\\d\\d$)", "0.$1")
                      .replaceAll("(^\\d$)", "0.0$1");
        }
    }
      

  4.   


    DecimalFormat df = new DecimalFormat("#0.00");
    String n = "8";
    n = df.format(Double.parseDouble(n)/100d);
    System.out.println(n);
      

  5.   

    多写才是王道...
    public class E021_StrChange{
    static float div(float i){
    i=i/100;
    return i;
    }
    static java.text.DecimalFormat df =new java.text.DecimalFormat("0.00");
    static String str1=df.format(div(50000));
    static String str2=df.format(div(8));
    public static void main(String[] args){

    System.out.print("str1="+str1+'\n'+"str2="+str2);
    }
    }
      

  6.   

    为什么不直接对字符操作呢?String traslate(String waittras){
    int strlength = waittra.length();
    String strresult = null; if(strlength == 1){
    strresult = "0.0" + waittras;
    return strresult;
    }
    else if(strlength == 2){
    strresult = "0." + waittras;
    return strresult;
    }

    strresult = waittras.insert(strlength - 2, ".");
    return strresult;
    }
    这个方法应该能够返回一个串,不过没有环境调过,可能出问题。