우리 모두는 프로그램이 때때로 숫자 형식을 지정해야 한다는 것을 알고 있습니다. 그렇다면 숫자 형식 지정이란 무엇입니까? 소위 디지털 형식화 는 지정된 형식에 따라 문자열을 얻는 것입니다.
예를 들어, 3.141592가 소수점 이하 2자리까지 유지되기를 원한다고 가정하면 결과 형식 문자열은 3.14가 되어야 합니다. 정수 123456789를 "천 단위"로 그룹화하려면 결과 형식 문자열은 123,456,789가 되어야 합니다. 소수점 3자리를 유지하려면 숫자 12.3456을 사용하고, 정수 부분은 최소 3자리를 표시해야 하며, 그런 다음 얻은 형식화된 문자열은 012.346이어야 합니다.
JDK 1.5 이전에는 프로그램이 숫자 데이터 형식을 지정하기 위해 DecimalFormat 클래스 와 같은 java.text 패키지의 관련 클래스를 사용해야 했습니다. JDK 1.5 버전은 보다 편리한 Formatter 클래스를 제공합니다. Formatter 클래스는 C 언어 printf 함수와 유사한 형식 메서드를 제공합니다.
형식(형식 모드, 값 목록)
이 메서드는 "형식 지정 모드"에 따라 "값 목록"의 문자열 표현을 반환합니다.
현재 Java에서는 형식 메서드를 String 클래스의 정적 메서드로 만들었습니다. 따라서 프로그램에서는 String 클래스를 직접 사용하여 형식 메서드를 호출하여 숫자 형식을 지정할 수 있습니다.
format 메소드의 "형식화 모드" 는 큰따옴표로 묶인 문자 시퀀스, 즉 문자열입니다. 이 문자 시퀀스의 문자는 형식 문자와 일반 문자로 구성됩니다.
예: 출력 결과 %d, %f, %d의 %d 및 %f는 형식 기호입니다. 처음 네 개의 한자와 중간에 있는 두 개의 쉼표는 일반 문자입니다. 형식 기호는 일반 문자로 간주됩니다. 학생들은 형식 문자에 대해 자세히 알아보려면 Java API의 java.util.Formatter 클래스를 참조할 수 있습니다. 형식 메소드에 의해 반환되는 문자열은 "형식 지정 모드"의 형식 문자가 얻은 형식화된 결과로 대체된 후의 문자열입니다. 예를 들면 다음과 같습니다.
Strings=String.format(%.2f,3.141592);
그러면 s는 3.14입니다. 3.141592를 형식화한 %.2f의 결과는 3.14이기 때문입니다.
형식 메소드의 "값 목록" 은 쉼표로 구분된 변수, 상수 또는 표현식 목록입니다. 형식 메서드의 "형식 모드"에서 형식 문자 수가 "값 목록"에 나열된 값 수와 동일한지 확인하세요. 예:
Strings=String.format(%dyuan%0.3fkg%d台,123,456.777888,999);
그러면 s는 123위안, 456.778kg, 999단위입니다.
기본적으로 형식 방법은 "형식 모드"의 형식 문자를 왼쪽에서 오른쪽 순서로 사용하여 "값 목록"의 해당 값의 형식을 지정하는 반면 "형식 모드"의 일반 문자는 변경되지 않은 상태로 유지됩니다. 예를 들어, int 유형을 가정하면 변수 x와 double 변수 y의 값은 각각 123과 3.1415926이며 다음과 같습니다.
Strings=String.format(왼쪽에서 오른쪽으로:%d,%.3f,%d,x,y,100);
그러면 s는 왼쪽에서 오른쪽으로 123,3.142,100입니다.
서식 지정 시 기본 순서(왼쪽에서 오른쪽으로)를 사용하지 않으려면 서식 문자 앞에 색인 기호를 추가할 수도 있습니다. index$, 예를 들어 1$는 "값 목록의 첫 번째 항목을 의미합니다. ", 2$는 목록의 "값" 2를 의미합니다.
Strings=String.format(왼쪽에서 오른쪽이 아님:%2$.3f,%3$d,%1$d,x,y,100);
그러면 s는 왼쪽에서 오른쪽으로가 아닙니다: 3.142,100,123.
참고: "포맷 모드"에 일반 %를 포함시키려면 코드를 작성할 때 두 개의 %를 연속으로 입력해야 합니다. 예:
Strings=String.format(%d%%,89);
그러면 s는 89%이다.