2012년 10월 22일 월요일

OCJP 문제풀이 - Question 27

QUESTION 27
Given:

double input = 314159.26;
NumberFormat nf = NumberFormat.getInstance(Locale.ITALIAN);
String b;
//insert code here

Which code, inserted at line 14, sets the value of b to 314.159,26?

A. b = nf.parse( input );
B. b = nf.format( input );
C. b = nf.equals( input );
D. b = nf.parseObject( input );

Answer: B
Section: All

Explanation/Reference:

NumberFormat 이라는 함수를 알고 있는지에 대한 문제이다.

parse() 는 String 형태의 값을 해당 포멧의 숫자로 바꾸는 함수이고,
format() 은 long이나, double과 같은 숫자형태의 값을 해당 포멧의 String으로 바꾸는 함수이다.

관련 API 는 다음을 참고한다.

 Stringformat(double number)
          Specialization of format.
abstract  StringBufferformat(double number, StringBuffer toAppendTo, FieldPosition pos)
          Specialization of format.
 Stringformat(long number)
          Specialization of format.
abstract  StringBufferformat(long number, StringBuffer toAppendTo, FieldPosition pos)
          Specialization of format.
 StringBufferformat(Object number, StringBuffer toAppendTo, FieldPosition pos)
          Formats a number and appends the resulting text to the given string buffer.

abstract  Numberparse(String source, ParsePosition parsePosition)
          Returns a Long if possible (e.g., within the range [Long.MIN_VALUE, Long.MAX_VALUE] and with no decimals), otherwise a Double.
 ObjectparseObject(String source, ParsePosition pos)
          Parses text from a string to produce a Number.

블로그 보관함