웹사이트 검색

Java 문자열을 double로 변환


Java 문자열을 두 배로 변환하는 방법은 여러 가지가 있습니다. 오늘 우리는 자바 문자열을 double primitive 데이터 유형 또는 Double 객체로 변환하는 몇 가지 일반적인 방법을 살펴볼 것입니다. java는 autoboxing을 지원하기 때문에 double primitive type과 Double object는 아무 문제 없이 상호 교환하여 사용할 수 있습니다.

Double d1 = 10.25d;
//autoboxing from double to Double
double d = Double.valueOf(10.25); 
//unboxing from Double to double

Java 문자열을 Double로 변환

  1. Double.parseDouble()

    We can parse String to double using parseDouble() method. String can start with “-” to denote negative number or “+” to denote positive number. Also any trailing 0s are removed from the double value. We can also have “d” as identifier that string is a double value. This method returns double primitive type. Below code snippet shows how to convert string to double using Double.parseDouble() method.

    String str = "+123.4500d";
    double d = Double.parseDouble(str); // returns double primitive
    System.out.println(d); //-123.45, trailing 0s are removed
    
    System.out.println(Double.parseDouble("123.45001")); //123.45001
    System.out.println(Double.parseDouble("123.45001d")); //123.45001
    System.out.println(Double.parseDouble("123.45000")); //123.45
    System.out.println(Double.parseDouble("123.45001D")); //123.45001
    
  2. Double.valueOf()

    This method works almost similar as parseDouble() method, except that it returns Double object. Let’s see how to use this method to convert String to Double object.

    String str = "123.45";
    Double d = Double.valueOf(str); // returns Double object
    System.out.println(d); //123.45
    
    System.out.println(Double.valueOf("123.45d")); //123.45
    System.out.println(Double.valueOf("123.4500d")); //123.45
    System.out.println(Double.valueOf("123.45D")); //123.45
    
  3. new Double(String s)

    We can convert String to Double object through it’s constructor too. Also if we want double primitive type, then we can use doubleValue() method on it. Note that this constructor has been deprecated in Java 9, preferred approach is to use parseDouble() or valueOf() methods.

    String str = "98.7";
    double d = new Double(str).doubleValue(); //constructor deprecated in java 9
    System.out.println(d); //98.7
    
  4. DecimalFormat parse()

    This is useful to parse formatted string to double. For example, if String is “1,11,111.23d” then we can use DecimalFormat to parse this string to double as:

    String str = "1,11,111.23d";
    try {
    	double l = DecimalFormat.getNumberInstance().parse(str).doubleValue();
    	System.out.println(l); //111111.23
    } catch (ParseException e) {
    	e.printStackTrace();
    }
    

    Note that parse() method returns instance of Number, so we are calling doubleValue() to get the double primitive type from it. Also this method throw ParseException if the string is not properly formatted.

이것이 자바 프로그램에서 string을 double로 변환하기 위한 전부입니다. 참조: 이중 API 문서