一个数字,转换为特定格式
如#,##0.000
  ¥#0.00
  0.#E0
  等以及自定义的格式等
之后转换成了String型。java中有没有这样的函数,参数为转换的结果(String),格式(String)
返回之前的数字。
不需要考虑精度问题。

解决方案 »

  1.   

    String.format方法可以满足你的需要。
      

  2.   

    楼主这个意思?
    import java.util.regex.*;
    public class Test {
    public static void main(String[] args) {
    //String s = "2,320.000";
    String s = "¥30.00";
    //String s = "0.3E3";

    Pattern p = Pattern.compile("[^0-9.Ee]");
    Matcher m = p.matcher(s);
    String s1 = m.replaceAll("");
    double d = Double.parseDouble(s1);
    System.out.println(d);
    }
    }
      

  3.   

    String result = "¥2.00";
    String pattern = "¥#0.00"; DecimalFormat format = new DecimalFormat(pattern);
    double d = Double.parseDouble(format.parse(result)+"");
    System.out.println(d);
      

  4.   

    改一下:double d = format.parse(result).doubleValue();
      

  5.   

    bao110908(火龙果) 的方法比较靠谱,我之前刚刚接触了java.text.format相关类,
    觉得应该有这样的方法,没有找到,多谢指点。zephyr_cc() 的方法是正则表达式的,不过提供的表达式貌似不能解析含%的。多谢二位,给分。