sprintf는
문자열 형식을 지정합니다.
구문: string sprintf(string format, mix [args]...);
반환 값: 문자열
함수 유형: 데이터 처리
설명
이 함수는 문자열 형식을 지정하는 데 사용됩니다. 형식 매개변수는 백분율 기호 %로 시작하고 변환 문자로 끝나는 변환 형식입니다. 변환된 형식에는
1. 빈칸 채우기 문자가 순서대로 포함됩니다. 0이면 공백이 0으로 채워지는 것을 의미하고, 공백이 기본값이므로 공백이 그대로 남아 있다는 의미입니다.
2. 정렬. 기본값은 오른쪽 정렬이고, 음수표는 왼쪽 정렬입니다.
3. 열 너비. 최소 너비입니다.
4. 정확성. 소수점 뒤의 부동 소수점 자릿수를 나타냅니다.
입력하세요. 아래 표를 참조하세요.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
문자 변환
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
%는 변환 없이 백분율 기호를 인쇄합니다.
b 정수를 이진수로 변환합니다.
c 정수를 해당 ASCII 문자로 변환합니다.
d 정수를 소수점 이하 자릿수로 변환합니다.
f 배 정밀도 숫자를 부동 소수점 숫자로 변환합니다.
o 정수를 8진수로 변환합니다.
s는 정수를 문자열로 변환합니다.
x 정수는 소문자 16진수로 변환됩니다.
X 정수를 대문자 16진수로 변환합니다.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-
예
=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
사용 예
<?
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// 이때 변수 $money의 값은 "123.1"입니다.
$formatted = sprintf("%01.2f", $money);
// 이때 $포맷된 변수의 값은 "123.10"이다.
?>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-
%01.2f는 무엇을 의미하나요?
먼저, % 기호는 시작을 의미하며 지정된 형식이 곧 시작됨을 나타내기 위해 앞에 쓰여집니다. 즉, "시작 문자"가 "변환 문자"가 나타날 때까지 형식이 종료됩니다.
그러면 % 기호 뒤에 오는 것은 0입니다. 이 0은 "빈칸 채우기 문자"입니다. 위치가 비어 있으면 0으로 채웁니다.
0 뒤에 오는 것은 1이다. 이 1은 소수점 이하의 숫자가 1자리 이상을 차지해야 한다는 규정이다.
1을 2로 변경하고 $money의 값이 1.23이면 $formatted의 값은 01.23이 됩니다.
소수점 앞의 숫자는 1자리만 차지하기 때문에 위에서 지정한 형식에 따르면 소수점 앞의 숫자는 2자리를 차지해야 하는데, 이제는 1자리만 있으므로 0으로 채워줍니다.
여기까지는 %01 뒤의 .2(포인트 2)가 이해하기 쉽다. 이때 $money의 값이 1.234라면 $의 값은 소수점 이하의 숫자를 차지해야 한다는 뜻이다. 1.23으로 포맷됩니다.
4가 누락된 이유는 위 규정에 따라 소수점 이하 2자리만 있어야 하기 때문입니다. 그런데 $money의 값에서는 소수점이 3자리를 차지하므로 4를 빼고 23만 남습니다.
마지막으로 f "변환 문자"로 끝납니다. 기타 변환 문자에 대해서는 위의 변환 문자 목록을 참조하세요.
정렬의 경우
% 시작 기호 뒤에 -(빼기 기호)를 추가하면 숫자가 오른쪽 정렬 방식으로 처리됩니다.
리에지
<?
$돈 = 1.4;
$formatted = sprintf("%-02.2f", $money);
에코 $ 형식;
?>
이때 $formatted는 더 이상 01.40이 아닌 1.400이 됩니다.