[java] Java에서 소수점 이하 두 자리로 부동 소수점을 인쇄하는 방법은 무엇입니까?

내가 할 수 있습니까 System.out.print?



답변

다음 printf과 같이 방법을 사용할 수 있습니다 .

System.out.printf("%.2f", val);

간단히 말해서 %.2f구문은 Java에게 형식 지정자 ( ) 의 시작 부분에서 부동 소수점 숫자 ( )를 십진수로 표현 하여 변수 ( val)를 소수점 2 자리 ( ) 로 반환하도록 지시 합니다 ..2f%

이외에도 사용할 수있는 다른 변환 문자가 있습니다 f.

  • d: 십진 정수
  • o: 8 진 정수
  • e: 과학적 표기법의 부동 소수점

답변

사용할 수 있습니다 DecimalFormat. 그것을 사용하는 한 가지 방법 :

DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);
System.out.println(df.format(decimalNumber));

다른 하나는 #.##형식을 사용하여 구성하는 것 입니다.

모든 형식 지정 옵션을 형식 지정 메서드를 호출하는 것보다 읽기 쉽지 않지만 선호하는 문제입니다.


답변

코드에서 와 같이 값이 필요한 경우 String.format ()을 사용하는 것이 좋습니다 String.

예를 들어 String.format()다음과 같은 방식으로 사용할 수 있습니다 .

float myFloat = 2.001f;

String formattedString = String.format("%.02f", myFloat);


답변

double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));


답변

float f = 102.236569f;
DecimalFormat decimalFormat = new DecimalFormat("#.##");
float twoDigitsF = Float.valueOf(decimalFormat.format(f)); // output is 102.24


답변

float floatValue=22.34555f;
System.out.print(String.format("%.2f", floatValue));

출력은 22.35입니다. 소수점 3 자리가 필요한 경우 “% .3f”로 변경하십시오.


답변

많은 사람들이 언급했습니다 DecimalFormat. 그러나 printf최신 버전의 Java가있는 경우 에도 사용할 수 있습니다 .

System.out.printf("%1.2f", 3.14159D);

printf 형식 문자열에 대한 자세한 내용은 포맷터에있는 문서를 참조하십시오 .