숫자(Number) 헬퍼
숫자(Number) 헬퍼 파일에는 로케일을 인식하는 방식으로 숫자 데이터를 처리하는 데 도움이 되는 함수가 포함되어 있습니다.
헬퍼 로드
이 헬퍼는 다음 코드를 사용하여 로드합니다:
<?php
helper('number');
오류가 발생하는 경우
PHP의 국제화 및 지역화 로직이 주어진 로케일 및 옵션에 대해 제공된 값을 처리할 수 없는 경우 BadFunctionCallException()이 발생합니다.
사용 가능한 함수
다음 함수를 사용할 수 있습니다:
- number_to_size($num[, $precision = 1[, $locale = null]])
- 매개변수:
$num (
mixed) – 바이트 수$precision (
int) – 부동 소수점 정밀도
- 반환:
형식화된 데이터 크기 문자열, 제공된 값이 숫자가 아닌 경우 false
- 반환 형식:
string
크기에 따라 숫자를 바이트 형식으로 지정하고 적절한 접미사를 추가합니다. 예:
<?php echo number_to_size(456); // Returns 456 Bytes echo number_to_size(4567); // Returns 4.5 KB echo number_to_size(45678); // Returns 44.6 KB echo number_to_size(456789); // Returns 447.8 KB echo number_to_size(3456789); // Returns 3.3 MB echo number_to_size(12345678912345); // Returns 1.8 GB echo number_to_size(123456789123456789); // Returns 11,228.3 TB
선택적 두 번째 매개변수를 사용하면 결과의 정밀도를 설정할 수 있습니다:
<?php echo number_to_size(45678, 2); // Returns 44.61 KB
선택적 세 번째 매개변수를 사용하면 숫자를 생성할 때 사용할 로케일을 지정할 수 있으며, 이는 형식에 영향을 줄 수 있습니다. 로케일을 지정하지 않으면 요청을 분석하여 헤더에서 적절한 로케일을 가져오거나 앱 기본값을 사용합니다:
<?php // Generates 11.2 TB echo number_to_size(12345678912345, 1, 'en_US'); // Generates 11,2 TB echo number_to_size(12345678912345, 1, 'fr_FR');
참고
이 함수에서 생성된 텍스트는 다음 언어 파일에서 확인할 수 있습니다: language/<your_lang>/Number.php
- number_to_amount($num[, $precision = 1[, $locale = null])
- 매개변수:
$num (
mixed) – 형식화할 숫자$precision (
int) – 부동 소수점 정밀도$locale (
string) – 형식화에 사용할 로케일
- 반환:
사람이 읽기 쉬운 형태의 문자열, 제공된 값이 숫자가 아닌 경우 false
- 반환 형식:
string
숫자를 사람이 읽기 쉬운 형태로 변환합니다. 예를 들어 1000조까지의 숫자에 대해 123.4 trillion과 같이 표시합니다. 예:
<?php echo number_to_amount(123456); // Returns 123 thousand echo number_to_amount(123456789); // Returns 123 million echo number_to_amount(1234567890123, 2); // Returns 1.23 trillion echo number_to_amount('123,456,789,012', 2); // Returns 123.46 billion
선택적 두 번째 매개변수를 사용하면 결과의 정밀도를 설정할 수 있습니다:
<?php echo number_to_amount(45678, 2); // Returns 45.68 thousand
선택적 세 번째 매개변수를 사용하면 로케일을 지정할 수 있습니다:
<?php echo number_to_amount('123,456,789,012', 2, 'de_DE'); // Returns 123,46 billion
- number_to_currency($num, $currency[, $locale = null[, $fraction = 0]])
- 매개변수:
$num (
float) – 형식화할 숫자$currency (
string) – 통화 유형(예: USD, EUR 등)$locale (
string|null) – 형식화에 사용할 로케일$fraction (
integer) – 소수점 이하 자릿수
- 반환:
로케일에 맞는 통화 형식으로 표현된 숫자
- 반환 형식:
string
USD, EUR, GBP 등 일반 통화 형식으로 숫자를 변환합니다:
<?php echo number_to_currency(1234.56, 'USD', 'en_US', 2); // Returns $1,234.56 echo number_to_currency(1234.56, 'EUR', 'de_DE', 2); // Returns 1.234,56 € echo number_to_currency(1234.56, 'GBP', 'en_GB', 2); // Returns £1,234.56 echo number_to_currency(1234.56, 'YEN', 'ja_JP', 2); // Returns YEN 1,234.56
로케일을 지정하지 않으면 요청 로케일이 사용됩니다.
- number_to_roman($num)
- 매개변수:
$num (
int|string) – 변환할 숫자
- 반환:
주어진 매개변수에서 변환된 로마 숫자
- 반환 형식:
string|null
숫자를 로마 숫자로 변환합니다:
<?php echo number_to_roman(23); // Returns XXIII echo number_to_roman(324); // Returns CCCXXIV echo number_to_roman(2534); // Returns MMDXXXIV
이 함수는 1부터 3999 범위의 숫자만 처리합니다. 해당 범위를 벗어나는 값에 대해서는
null을 반환합니다.