Java에서 숫자를 출력하는 것은 단순한 값 출력에서부터 형식화된 숫자 표현까지 다양하게 활용됩니다. 숫자는 기본적으로 정수, 실수, 그리고 서식화된 문자열로 출력할 수 있으며, 이를 통해 소수점 자리수 조절, 천 단위 구분, 형식 지정 등이 가능합니다. 이번 글에서는 Java에서 숫자를 출력하는 방법과 함께 숫자 포맷을 조정하는 방법을 설명하겠습니다.
기본 숫자 출력: System.out.print와 println
Java에서 숫자를 출력하는 가장 간단한 방법은 System.out.print
와 System.out.println
을 사용하는 것입니다. 이 메서드는 숫자 타입을 가리지 않고 모든 숫자를 그대로 출력해줍니다.
예제 코드
public class BasicPrintExample {
public static void main(String[] args) {
int intNumber = 100;
double doubleNumber = 3.14159;
System.out.print("정수 출력: ");
System.out.println(intNumber);
System.out.print("실수 출력: ");
System.out.println(doubleNumber);
}
}
출력 결과:
정수 출력: 100
실수 출력: 3.14159
위 코드에서는 정수와 실수를 기본적으로 출력하는 방법을 보여줍니다.
숫자 형식 지정: System.out.printf
Java에서는 System.out.printf
메서드를 사용하여 숫자 출력을 형식화할 수 있습니다. printf
는 형식 문자열을 사용하여 소수점 자리수, 정렬 방식 등을 지정하는 데 유용합니다.
주요 형식 지정자
%d
: 정수 출력%f
: 실수 출력 (기본적으로 소수점 이하 6자리)%.nf
: 소수점 이하 n자리까지 실수 출력
예제 코드
public class PrintfExample {
public static void main(String[] args) {
int number = 1234;
double pi = 3.14159265359;
System.out.printf("정수 출력: %d%n", number);
System.out.printf("소수점 이하 2자리 실수 출력: %.2f%n", pi);
System.out.printf("소수점 이하 4자리 실수 출력: %.4f%n", pi);
}
}
출력 결과:
정수 출력: 1234
소수점 이하 2자리 실수 출력: 3.14
소수점 이하 4자리 실수 출력: 3.1416
printf
를 사용하면 소수점 자리수를 조정하거나 정수를 원하는 형식으로 표현할 수 있습니다.
DecimalFormat을 이용한 숫자 포맷 지정
DecimalFormat
클래스는 숫자를 형식화된 문자열로 변환하는 데 매우 유용합니다. 특히, 천 단위 구분 기호 추가, 소수점 자리수 조정 등에 유리합니다.
DecimalFormat 사용 예시
import java.text.DecimalFormat;
public class DecimalFormatExample {
public static void main(String[] args) {
double salary = 1234567.89;
DecimalFormat formatter = new DecimalFormat("#,###.00");
System.out.println("형식화된 숫자 출력: " + formatter.format(salary));
}
}
출력 결과:
형식화된 숫자 출력: 1,234,567.89
위 코드에서는 #,###.00
형식을 사용하여 천 단위 구분 기호와 소수점 둘째 자리까지의 숫자 포맷을 지정했습니다.
String.format을 이용한 숫자 포맷팅
String.format
메서드는 printf
와 유사한 방식으로 형식을 지정하여 문자열을 생성합니다. 이를 통해 소수점 자리수를 제어하거나 숫자를 문자열로 변환할 수 있습니다.
예제 코드
public class StringFormatExample {
public static void main(String[] args) {
double num = 123.45678;
String formatted = String.format("소수점 이하 2자리: %.2f", num);
System.out.println(formatted);
}
}
출력 결과:
소수점 이하 2자리: 123.46
String.format
은 printf
와 비슷하게 사용되지만, 출력된 문자열을 반환할 수 있어 문자열 조작이 필요할 때 유용합니다.
NumberFormat을 이용한 통화 및 퍼센트 형식
NumberFormat
클래스는 통화와 퍼센트 형식을 지정하는 데 유용합니다. NumberFormat
은 지역화 지원을 통해 통화 기호와 퍼센트 기호를 자동으로 적용합니다.
통화 형식 예제
import java.text.NumberFormat;
public class CurrencyFormatExample {
public static void main(String[] args) {
double money = 1500.75;
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
System.out.println("통화 형식: " + currencyFormatter.format(money));
}
}
출력 결과:
통화 형식: $1,500.75 (지역에 따라 기호가 달라질 수 있음)
위 코드에서는 NumberFormat.getCurrencyInstance()
를 사용해 지역에 맞는 통화 기호와 함께 금액을 표시합니다.
퍼센트 형식 예제
public class PercentFormatExample {
public static void main(String[] args) {
double percentage = 0.85;
NumberFormat percentFormatter = NumberFormat.getPercentInstance();
System.out.println("퍼센트 형식: " + percentFormatter.format(percentage));
}
}
출력 결과:
퍼센트 형식: 85%
이 코드는 NumberFormat.getPercentInstance()
를 통해 소수점 이하 값을 자동으로 퍼센트 형식으로 변환하여 출력합니다.
다양한 숫자 포맷 조합 예제
지금까지 살펴본 다양한 숫자 출력 방법을 조합하여 보다 복잡한 출력 형식을 지정할 수 있습니다. 아래 예제에서는 통화, 퍼센트, 일반 숫자 형식을 함께 출력해 봅니다.
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class CombinedFormatExample {
public static void main(String[] args) {
double salary = 55000.5;
double growthRate = 0.073;
double sales = 1234567.89;
NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
NumberFormat percentFormatter = NumberFormat.getPercentInstance();
DecimalFormat salesFormatter = new DecimalFormat("#,###.00");
System.out.println("월급: " + currencyFormatter.format(salary));
System.out.println("성장률: " + percentFormatter.format(growthRate));
System.out.println("매출: " + salesFormatter.format(sales));
}
}
출력 결과:
월급: $55,000.50
성장률: 7%
매출: 1,234,567.89
이 예제에서는 NumberFormat
과 DecimalFormat
을 조합하여 통화, 퍼센트, 천 단위 구분 형식을 각각 지정하여 출력하고 있습니다.
결론
Java에서 숫자를 출력하는 다양한 방법을 살펴보았습니다. System.out.print
, System.out.printf
, DecimalFormat
, NumberFormat
등을 통해 정수와 실수를 손쉽게 출력할 수 있으며, 이를 통해 소수점 자리수 조정, 천 단위 구분, 통화 및 퍼센트 형식 등 다양한 포맷을 설정할 수 있습니다. Java의 다양한 숫자 출력 방법을 활용해 깔끔하고 가독성 좋은 출력을 구현해 보세요!
댓글 쓰기